Sentry的OpenID Connect身份验证提供商
项目描述
Sentry 的单点登录(SSO)提供商,支持 OpenID Connect 应用认证。
这是从 sentry-auth-google 分支出来的。
为什么要分支,而不是将 sentry-auth-google 适配到每个 OpenID Connect 提供商呢?
维护者与 sentry-auth-google 的想法不同。见
安装
$ pip install sentry-auth-oidc
Google 的示例设置
首先,在 Google 开发者控制台 中创建一个项目。
在 授权重定向 URI 中添加您的安装的 SSO 终端。
https://sentry.example.com/auth/sso/
当然,其他支持 OpenID-Connect 的提供商也可以使用(如 GitLab)。
最后,获取 API 密钥和已知的账户 URL,并将它们插入到您的 sentry.conf.py 中。
OIDC_CLIENT_ID = ""
OIDC_CLIENT_SECRET = ""
OIDC_SCOPE = "openid email"
OIDC_DOMAIN = "https://#" # e.g. for Google
OIDC_DOMAIN 定义了 OIDC 配置将被拉取的位置。基本上,它指定了 OIDC 服务器,并添加了路径 .well-known/openid-configuration。那里可以找到不同的端点路径。
更详细的信息可以在 ProviderConfig 规范中找到。
您还可以定义 OIDC_ISSUER 来更改 UI 中的默认提供者名称,即使设置了 OIDC_DOMAIN。
如果您的提供商不支持 OIDC_DOMAIN,那么您必须自己设置这些必需的端点(授权端点、令牌端点、用户信息端点、发行者)。
OIDC_AUTHORIZATION_ENDPOINT = "https://#/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"
开发
常见问题解答
- 如果您使用 macOS brew 的 openssl 并且遇到 psycopg 构建错误,如下所示
ld: library not found for -lssl
- 请设置以下环境变量
export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源分布
sentry_auth_oidc-9.0.0.tar.gz (8.8 kB 查看散列)
构建分布
sentry_auth_oidc-9.0.0-py3-none-any.whl (10.7 kB 查看散列)