通过企业的github账号登录jenkins-做统一的权限认证
如何通过企业的github账号登录jenkins-做统一的权限认证:
1.登录进入你的git账号,然后创建github app
Settings->Developer settings - > OAuth Apps -> 点击New OAuth App,然后填入相关信息:



填入相关信息:

填入的信息如下:
-Application name: my-jenkins
-Homepage URL: 填YourJenkinsUrl的home page url
eg: http://xx.xx.xx.xx:port/
-Authorization callback URL: http://YourJenkinsUrl/securityRealm/finishLogin
eg:eg: http://xx.xx.xx.xx:port/securityRealm/finishLogin
点击注册
注册成功后, 会生成Client ID和Client Secret
ps: 关键配置项 Authorization callback URL 必须为:https://<你的Jenkins域名>/securityRealm/finishLogin。如果你的 Jenkins 是 HTTP 访问,请使用 http 协议
2. 在jenkins > 系统管理 > 插件管理 > 安装Github Authentication
3. 安装后,进入jenkins > 系统管理 > Configure Global Security,
选择Github Authentication Plugin,并填:
GitHub Web URL: https://YouCompayGitUrl
GitHub API URL:https://YouCompayGitUrl/api/v3
Client ID:
Client Secret:
OAuth Scope(s) :read:org,user:email,repo
4.选择授权策略(Authorization)>项目矩阵授权策略(Project-based Matrix Authorization Strategy)
添加git账号名(git>profile 查看中的名字),并勾选所有的权限。
5.保存
6.会自动退出jenkins,要点击登录,会弹出关联jenkins与git的信息,点击确认后,继续往后操作。
7.登录成功,可以看到git账号信息
-----------------------------------------------
QA
Q1:如果我修改了OAuth Scope(s) 字段 配置的权限,为什么不生效呢,还报错,提示403.
A1:更简单的方式(如果有 Jenkins 管理员权限):
- 修改 OAuth Scope(s) → 改成例如 read:org,user:email,repo,admin:repo_hook
- 点击保存
- 在页面右上角找用户菜单 → 点 Log out
- 重新 Login,此时会要求重新授权(会弹出 GitHub 授权界面确认新的 scopes)
Q2:能给某个组织或者group添加权限吗?
A2:可以的,给组织添加权限:首先点击你的github登录账号头像-》Your organizations ,然后就能看到你被加入了哪些组织。

然后在jenkins->系统管理-》全局安全配置-》Global GitHub OAuth Settings->添加组织名就行:


浙公网安备 33010602011771号