Jenkins OIDC
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应用或使用现有的一个。
添加一个重定向URL:
http://JENKINS_HOSTNAME/securityRealm/finishLogin
添加你想要的提供商,并提供任何额外的设置。
你将从应用设置页面获取两个值:Client ID
和Client secret
。 我们将在下一步中使用这些值。
打开你最喜欢的浏览器并访问:http://CASDOOR_HOSTNAME
/.well-known/openid-configuration查看Casdoor的OIDC配置。
步骤3:配置Jenkins
首先,我们需要安装OpenId Connect Authentication,因为Jenkins并不原生支持OIDC。
安装完成后,转到管理Jenkins -> 配置全局安全。
确保备份Jenkins的config.xml
文件,以防任何设置错误。
在访问控制中,选择
使用Openid Connect登录
作为安全领域。在Client ID字段中指定上面记下的
Client ID
。在Client secret字段中指定上面记下的
Client secret
。在配置模式中,选择
自动配置
,并输入http://CASDOOR_HOSTNAME
/.well-known/openid-configuration作为已知配置端点。如果你的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
- 令牌服务器URL:http://
点击高级设置并填写以下内容:
- 在用户名字段中,指定
name
。 - 在全名字段中,指定
displayName
。 - 在电子邮件字段中,指定
email
。
- 在用户名字段中,指定
在授权部分,启用“已登录用户可以做任何事情”并禁用“允许匿名读取访问”。 你可以稍后配置更复杂的授权,但现在,检查OpenID是否正常工作。
退出Jenkins,它应该将你重定向到Casdoor进行身份验证。