Skip to main content

OpenID Connect authentication provider for Sentry

Project description

An SSO provider for Sentry which enables OpenID Connect Apps authentication.

This is a fork of sentry-auth-google.

Why fork, instead of adapting sentry-auth-google to work with every OpenID Connect provider?

The maintainer has different ideas with sentry-auth-google. See:

Install

$ pip install sentry-auth-oidc

Example Setup for Google

Start by creating a project in the Google Developers Console.

In the Authorized redirect URIs add the SSO endpoint for your installation:

https://sentry.example.com/auth/sso/

Naturally other providers, that are supporting OpenID-Connect can also be used (like GitLab).

Finally, obtain the API keys and the well-known account URL and plug them into your sentry.conf.py:

OIDC_CLIENT_ID = ""

OIDC_CLIENT_SECRET = ""

OIDC_SCOPE = "openid email"

OIDC_DOMAIN = "https://accounts.google.com"  # e.g. for Google

The OIDC_DOMAIN defines where the OIDC configuration is going to be pulled from. Basically it specifies the OIDC server and adds the path .well-known/openid-configuration to it. That’s where different endpoint paths can be found.

Detailed information can be found in the ProviderConfig specification.

You can also define OIDC_ISSUER to change the default provider name in the UI, even when the OIDC_DOMAIN is set.

If your provider doesn’t support the OIDC_DOMAIN, then you have to set these required endpoints by yourself (autorization_endpoint, token_endpoint, userinfo_endpoint, issuer).

OIDC_AUTHORIZATION_ENDPOINT = "https://accounts.google.com/o/oauth2/v2/auth"  # e.g. for Google

OIDC_TOKEN_ENDPOINT = "https://www.googleapis.com/oauth2/v4/token"  # e.g. for Google

OIDC_USERINFO_ENDPOINT = "https://www.googleapis.com/oauth2/v3/userinfo" # e.g. for Google

OIDC_ISSUER = "Google"

Development

FAQ

  • If you are using macOS brew’s openssl and you get a psycopg build error such as:
    ld: library not found for -lssl
    Please setup the following environment variables:
    export LDFLAGS="-L/usr/local/opt/openssl/lib"
    export CPPFLAGS="-I/usr/local/opt/openssl/include"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

da2-sentry-auth-oidc-3.0.3.tar.gz (5.9 kB view details)

Uploaded Source

File details

Details for the file da2-sentry-auth-oidc-3.0.3.tar.gz.

File metadata

  • Download URL: da2-sentry-auth-oidc-3.0.3.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.13

File hashes

Hashes for da2-sentry-auth-oidc-3.0.3.tar.gz
Algorithm Hash digest
SHA256 037d4838bd44b9872582decffb3c4a47f6774bd19b3bfbc924d9434158d2e8bb
MD5 80f02bfb5544e9da2a17e90c8de960fb
BLAKE2b-256 8950ac1ad9a91f5920274b6efc41c0eacefaa3cf79206882dc0b4cecd0652555

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page