Jenkins
Casdoor 可以使用 OIDC 协议作为IDP 连接各种应用程序。 这里我们将使用Jenkins作为示例,向您展示如何使用 OIDC 链接到您的应用程序。
以下是配置中的一些名字:
CASDOOR_HOSTNAME
: 部署了 Casdoor 服务器的域名或IP。
JENKINS_HOSTNAME
: 部署Jenkins的域名或IP。
步骤1。 部署Casdoor和Jenkins
在成功部署后,您需要确保:
- 将 Jenkins URL(管理 Jenkins -> 配置系统 -> Jenkins 位置) 设置为
JENKINS_HOSTNAME
- 可以登录并正常使用Casdoor。
- 将Casdoor的
origin
(conf/app.conf) 设置为CASDOOR_HOSTNAME
。
第2步: 配置Casdoor应用
- 创建或使用现有的 Casdoor 应用程序。
- 添加一个 redirect URL:
http://JENKINS_HOSTNAME/securityRealm/finishLogin
- 添加您想要的提供商并补充其他设置。
这时, 您可以在应用程序设置页面获得两个值: Client ID
和 Client secret
, 就像上图一样。 我们将在下一步骤中使用它们。
打开您最喜欢的浏览器并访问: http://`CASDOOR_HOSTNAME`/.well known / openid-configur, 您将看到Casdoor配置的OIDC。
步骤3. 配置 Jenkins
Jenkins本质上不支持 OIDC,所以我们需要安装 OpenId Connect Authentication。
安装完成后,前往管理Jenkins -> 配置全局安全。
建议: 备份Jenkins config.xml
文件,并在设置错误时使用它来恢复。
- 在访问控制中,安全领域选择” Login with Openid Connect”。
- 在客户端ID中,指定上面注明的
客户端ID
。 - 在Client serect中,指定上面注明的
Client secret
- 在配置模式下,选择
Automatic configuration
并填写 http://`CASDOOR_HOSTNAME`/.well known/openid-configur 到 Well-known 配置端点。如果您的Casdoor是本地部署的,您需要选择Manual configuration
并输入一些信息:Token server url
: http://`CASDOOR_HOSTNAME`/api/login/oauth/access\_tokenAuthorization server url
: http://`CASDOOR_HOSTNAME`/login/oauth/auth/author权UseInfo server url
: http://`CASDOOR_HOSTNAME`/api/get-accountScopes
:离线电话开放配置
- 点击高级设置,填写如下:
- 在用户名字段中,指定
data.name
- 在全名中,指定
data.displayName
- 在电子邮件字段中,指定
data.email
- 在用户名字段中,指定
- 在授权部分,检查“Logged-in users can do anything”。 禁用“允许匿名读取访问”。 您可以稍后配置更复杂的授权。现在检查OpenID是否是正常工作状态。
注销Jenkins,现在它应该将您重定向到Casto进行身份验证。