Skip to content

57-Wolve/sentry-auth-oidc

 
 

Repository files navigation

OpenIDConnect Auth for Sentry

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:

CLIENT_ID = ""

CLIENT_SECRET = ""

SCOPE = "openid email"

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

The WELL_KNOWN_URL 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.

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

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

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

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

ISSUER = "Google"

About

OpenID Connect SSO provider for Sentry

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 95.1%
  • Makefile 3.8%
  • HTML 1.1%