快速入门
# 快速入门
本指南的目的是通过介绍协议配置,完成系统应用的接入,完成用户登录的功能。
注意:以下操作都在管理员控制台进行,以OAuth协议配置为例
# 协议配置
# 新增应用
点击 单点登录 → 标准协议 → OAuth2图标上的 ‘+’,弹出协议填写页面。
进行表单填写,上传应用图标,填写重定向认证url,选择认证模式 (gitlab重定向url: http://172.24.4.201:9980/users/auth/idm/callback)
添加完后,应用列表出现新的应用(第2、3步仅仅针对应用修改时的操作,可以跳过)
# 停用应用
点击停用,弹出确认提示,确认后应用停用。
# 编辑应用
编辑应用只能操作已停用的应用,应用被停用后会出现编辑按钮
点击编辑按钮后,弹出编辑表单,操作步骤同应用添加
# 查看应用
点击配置按钮,进入应用详情页
# 应用授权
在配置界面,点击 访问授权 → 添加应用授权
添加授权对象,点击 确定
# 添加子账号
在配置界面,点击 子账号 → 添加子账号
在弹出的子账号表单填写页面中,主账号(AIDM账号) + 子账号(第三方系统账号)进行绑定
# 应用接入(以GitLab为例)
查看应用(见第4点),进入应用信息,获取Client Id、Client Secret
修改gitlab配置文件,示例配置文件地址:/etc/gitlab/gitlab.rb
进入文件编辑模式:
sudo vi /etc/gitlab/gitlab.rb,按下 ‘i’ 键进入
在文件末尾添加内容
gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['idm']
gitlab_rails['omniauth_block_auto_created_users'] = true
gitlab_rails['omniauth_providers'] = [
{
'name' => 'idm',
'app_id' => '714110656509009920',
'app_secret' => 'C94pMjAwNDIwMjIxMTExMjYyMjIunq',
'args' => {
client_options: {
'site' => 'https://aidm.apusic.com',
'authorize_url' => '/api/apusic/oauth2/authorize',
'token_url' => '/api/apusic/oauth2/token',
'user_info_url' => '/api/apusic/v1.0/oauth2/userinfo'
},
user_response_structure: {
root_path: [],
id_path: 'id',
attributes: {
name: 'displayName',
username: 'username',
email: 'email'
}
},
# optionally, you can add the following two lines to "white label" the display name
# of this strategy (appears in urls and Gitlab login buttons)
# If you do this, you must also replace oauth2_generic, everywhere it appears above, with the new name.
name: 'idm',
strategy_class: "OmniAuth::Strategies::OAuth2Generic"
}
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
关于配置文件的说明
site配置aidm系统的域名,dev环境:https://aidm.apusic.com,test环境:https://test.aidm.apusic.com,私有化部署时,配置实际的域名(或IP)
'name' => 'idm',需要保证和 gitlab_rails['omniauth_allow_single_sign_on'] = ['idm']一致,可以自定义name,
同时,在协议创建时,重定向认证ur也需要同步修改:http://172.24.4.202:8090/users/auth/{name}/callback
编辑模式下,按Esc键,然后键盘输入 ':wq!' 保存输入的文件内容
重新配置、重启gitlab
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
2
- gitlab配置完成
- 登录aidm账号(与gitlab关联的账号)
- 关联子账号(子账号填写gitlab已有账号,这里以xiaoqing001为例)
- 登录gitlab账号(aidm系统配置的子账号),关联aidm账号
- 退出gitlab,使用xiaoqing001登录aidm,点击应用图标进行单点登录
以上完成了GitLab系统应用的协议接入,完成了通过AIDM系统跳转GitLab应用。