通过企业的github账号登录jenkins-做统一的权限认证

如何通过企业的github账号登录jenkins-做统一的权限认证:

1.登录进入你的git账号,然后创建github app

Settings->Developer settings - > OAuth Apps -> 点击New OAuth App,然后填入相关信息:

imageimageimage 

 

image

填入相关信息:

image

 

 填入的信息如下:

-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 管理员权限):

  1. 修改 OAuth Scope(s) → 改成例如 read:org,user:email,repo,admin:repo_hook
  2. 点击保存
  3. 在页面右上角找用户菜单 → 点 Log out
  4. 重新 Login,此时会要求重新授权(会弹出 GitHub 授权界面确认新的 scopes)

 Q2:能给某个组织或者group添加权限吗?

A2:可以的,给组织添加权限:首先点击你的github登录账号头像-》Your organizations ,然后就能看到你被加入了哪些组织。

image

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

image

 

posted @ 2026-04-08 16:20  苹果芒  阅读(23)  评论(0)    收藏  举报