跳转到主要内容

cubicweb的Oauth2/OpenID身份验证

项目描述

摘要

cubicweb的Oauth2/OpenID连接身份验证客户端。

所有配置均在all-in-one.conf中完成。默认值应与Keycloak配合良好,对于其他提供者,请参阅JWT令牌内容的文档。

  • oauth2-enabled一旦配置好,应设置为yes

  • oauth2-client-idoauth2-client-secret应设置(由提供者提供)。

  • 对于OpenID连接提供者,可以设置oauth2-server-url。对于keycloak,它是<server>/auth/realms/<realm>。然后从metadata url /.well-known/openid-configuration中获取配置。

  • 如果您想避免请求元数据url,或者如果您的提供者没有实现OpenID,您应配置oauth2-authorization-urloauth2-token-urloauth2-jwk-path

  • oauth2-token-login用于将JWT令牌的字段映射到CubicWeb登录。

  • 在提供者端,回调url应配置为<cubicweb>/oauth2/callback

到这一点,您应该能够通过登录页面使用“使用Oauth2登录”按钮登录现有用户。

如果您想自动注册新用户,必须将oauth2-register-user设置为yes并配置oauth2-default-groupoauth2-token-firstnameoauth2-token-surnameoauth2-token-email

如果您的实例仅接受来自Oauth2提供者的用户,您可以设置oauth2-auto-login以跳过登录页面并直接开始Oauth2身份验证。

如果您的实例要求仅接受来自Oauth2提供者的已验证用户,您可以设置oauth2-force-loginyes,这将重定向所有未经验证的请求到Oauth2登录。

如何使用keycloak进行测试

使用标准流程和机密(client_id/client_secret)访问。

test_full_login()可能是理解身份验证流程的好起点。

以下是如何使用keycloak进行测试的说明

  1. 使用URL http://:8080 创建新客户端

  2. 将访问类型设置为“机密”,并启用标准流程

  3. 从“凭证”选项卡获取client_id和client_secret

  4. 将oauth2立方体启用到您的项目中

  5. 在all-in-one.conf中设置以下参数

    oauth2-enabled=yes oauth2-server-url=https://keycloak/auth/realms/master oauth2-client-id= oauth2-client-secret=

  6. 启动您的实例,转到登录页面并单击“使用Oauth2登录”

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

cubicweb-oauth2-1.1.0.tar.gz (15.3 kB 查看哈希值)

上传时间

构建分布

cubicweb_oauth2-1.1.0-py3-none-any.whl (10.2 kB 查看哈希值)

上传时间 Python 3

支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面