跳到主内容

Jenkins OIDC

Casdoor可以使用OIDC协议作为IDP连接各种应用。 在这个例子中,我们将使用Jenkins来演示如何使用OIDC连接到你的应用。

以下是配置中使用的一些名称:

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

  • JENKINS_HOSTNAME:部署Jenkins的域名或IP。

步骤1:部署Casdoor和Jenkins

首先,部署CasdoorJenkins

成功部署后,确保以下内容:

  1. 将Jenkins URL(管理Jenkins -> 配置系统 -> Jenkins位置)设置为JENKINS_HOSTNAMEJenkins URL

  2. 确保Casdoor可以正常登录和使用。

  3. 将Casdoor的origin值(conf/app.conf)设置为CASDOOR_HOSTNAMECasdoor conf

步骤2:配置Casdoor应用

  1. 创建一个新的Casdoor应用或使用现有的一个。

  2. 添加一个重定向URL:http://JENKINS_HOSTNAME/securityRealm/finishLogin Casdoor应用设置

  3. 添加你想要的提供商,并提供任何额外的设置。

你将从应用设置页面获取两个值:Client IDClient secret。 我们将在下一步中使用这些值。

打开你最喜欢的浏览器并访问:http://CASDOOR_HOSTNAME/.well-known/openid-configuration查看Casdoor的OIDC配置。

步骤3:配置Jenkins

首先,我们需要安装OpenId Connect Authentication,因为Jenkins并不原生支持OIDC。

安装完成后,转到管理Jenkins -> 配置全局安全jenkins全局安全

提示

确保备份Jenkins的config.xml文件,以防任何设置错误。

  1. 在访问控制中,选择使用Openid Connect登录作为安全领域

  2. Client ID字段中指定上面记下的Client ID

  3. Client secret字段中指定上面记下的Client secret

  4. 在配置模式中,选择自动配置,并输入http://CASDOOR_HOSTNAME/.well-known/openid-configuration作为已知配置端点。 Jenkins'设置

    如果你的Casdoor是本地部署的,你可能需要选择手动配置并提供以下信息:

    • 令牌服务器URL:http://CASDOOR_HOSTNAME/api/login/oauth/access_token
    • 授权服务器URL:http://CASDOOR_HOSTNAME/login/oauth/authorize
    • 用户信息服务器URL:http://CASDOOR_HOSTNAME/api/get-account
    • 范围:address phone openid profile offline_access email 手动配置
  5. 点击高级设置并填写以下内容:

    • 在用户名字段中,指定name
    • 在全名字段中,指定displayName
    • 在电子邮件字段中,指定email

    用户信息字段设置

  6. 授权部分,启用“已登录用户可以做任何事情”并禁用“允许匿名读取访问”。 你可以稍后配置更复杂的授权,但现在,检查OpenID是否正常工作。

    退出Jenkins,它应该将你重定向到Casdoor进行身份验证。Jenkins登录页面