Skip to main content

Jenkins (OIDC)

Casdoor 可以使用 OIDC 协议作为IDP 连接各种应用程序。 这里我们将使用Jenkins作为示例,向您展示如何使用 OIDC 连接到您的应用程序。

以下是配置中的一些名字:

CASDOOR_HOSTNAME: 部署了 Casdoor 服务器的域名或IP。

JENKINS_HOSTNAME: 部署Jenkins的域名或IP。

步骤1。 部署城门和Jenkins

首先,应该部署 城门 and Jenkins

在成功部署后,您需要确保:

  1. 将 Jenkins URL(管理 Jenkins -> 配置系统 -> Jenkins 位置) 设置为 JENKINS_HOSTNAME Jenkins URL
  2. 可以登录并正常使用卡门。
  3. 将赌场的 起源 值 (conf/app.conf) 设置为 CASDOOR_HOSTNAME卡斯门conf

第2步: 配置连锁应用

  1. 创建或使用现有的 Casdoor 应用程序。
  2. 添加重定向URL: http://JENKINS_HOSTNAME/securityRealm/finish登录 城门应用程序设置
  3. 添加您想要的提供商并补充其他设置。

不足为奇。 您可以在应用程序设置页面获得两个值: 客户端 ID客户端密钥 就像上面的图片一样。 我们将在下一步骤中使用它们。

打开您最喜欢的浏览器并访问: http://CASDOOR_HOSTNAME/.well known / openid-configur, 您将看到OIDC 配置Casdoor。

步骤3. 配置 Jenkins

Jenkins本质上不支持 OIDC,所以我们需要安装 OpenId Connect 认证

安装完成后,前往管理Jenkins -> 配置全局安全。

建议: 备份Jenkins config.xml 文件并在设置错误时使用它来恢复。

  1. 在访问控制中,安全领域选择"使用 Openid 连接登录"。
  2. 在客户端ID中,指定上面注明的 客户端ID
  3. In Client secret, specify the Client secret noted above.
  4. 在配置模式下,选择 自动配置 并填写 http://CASDOOR_HOSTNAME/.well known/openid-configur 到 Well-known 配置端点。Jenkins设置如果您的连锁门是本地部署的,您可能需要选择 手动配置 并输入一些信息:
    • 令牌服务器 url: http://CASDOOR_HOSTNAME/api/login/oauth/access_token
    • 授权服务器url: http://CASDOOR_HOSTNAME/login/oauth/auth/author权
    • 用户信息服务器 url: http://CASDOOR_HOSTNAME/api/get-account
    • 范围: 离线电话开放配置 手动配置
  5. 点击高级设置,填写如下:
    • 在用户名字段中,指定 data.name
    • 在全名费中,指定 data.displayName
    • 在电子邮件字段中,指定 data.email 用户信息字段设置
  6. 在授权部分检查“登录用户可以做任何事情”。 禁用“允许匿名读取访问”。 您可以稍后配置更复杂的授权。现在检查OpenID是否真正正常工作。

注销Jenkins,现在它应该将您重定向到Casto进行身份验证。 Jenkins 登录页面