发布时间:2025-12-10 11:45:44 浏览次数:24
OAuth2是一个授权的开放协议;用来授权第三方应用,获取用户数据。
01打开应用列表;
02点击创建,填写表单;
03点击协议配置;
04填写配置;
05再次点击协议配置
1.明白页面字段含义
| redirect url | 回调地址 |
| client_id | 客户端id |
| client_token | 客户端秘钥 |
| authorize url | 授权url |
| get token url | 获取access_token地址 |
| userinfo url | 用户信息地址 |
| logout url | 退出登录地址 |
2.获取Authorization Code
| client_id | client_id | |
| redirect_uri | redirect url | |
| response_type | 填入code | code |
| rscope | 可选 ( openid userinfo) | 如果传递openid,获取token会多一个id_token |
请求示例: http://authorize url/?client_id=xxxxx&redirect_uri=xxxxx&response_type=code&scope=userinfo
返回参数:
| code | 授权码 |
返回示例: http://redirect_uri?code=XEV8esOvaVk9wyAuiNXpb3Nuwn5av9&token=cd34840ffc804b894ede31bc21b176ef559e137f
3.获取Access Token
请求地址: get token url
请求方式: POST
请求头参数:
| Authorization | token格式为 client_id:client_secret 使用base64编码 | Basic Token |
| Content-Type | 填入multipart/form-data |
| access_token | 令牌 | |
| expires_in | 过期时间 | |
| token_type | Bearer | |
| scope | userinfo openid | |
| refresh_token | 用于更新令牌的令牌 |
{
“access_token”: “cFcWq78HH9MKVQOFJgGPl6RFtESAc2”,
“expires_in”: 36000,
“token_type”: “Bearer”,
“scope”: “userinfo”,
“refresh_token”: “oRHcgoGYsL5h1UimT4rWcg93lcTyjN” }
4.获取用户信息
请求地址: userinfo url
请求方式: GET
请求头参数:
| Authorization | Bearer access_token | Bearer cFcWq78HH9MKVQOFJgGPl6RFtESAc2 |
| id | 用户id | |
| name | 用户名称 | |
| sub | 用户id | |
| sub_id | 用户id | |
| preferred_username | 用户名 | |
| groups | 用户分组 | |
| tenant_id | 租户id | |
| tenant_slug | 租户slug |
返回示例:
{ “id”: “faf5aae6-3cdf-4595-8b4a-3a06b31117c8”, “name”: “admin”,
“sub”: “faf5aae6-3cdf-4595-8b4a-3a06b31117c8”, “sub_id”:
“faf5aae6-3cdf-4595-8b4a-3a06b31117c8”, “preferred_username”:
“admin”, “groups”: [ ], “tenant_id”:
“4da114ce-e115-44a0-823b-d372114425d0”, “tenant_slug”: “”}
5.刷新token
这一步是可选的如果颁发的令牌过了有效期,可以使用这个接口更换新的令牌
| Authorization | 这个token由client_id和client_secret生成 | Basic Token |
| Content-Type | 填入multipart/form-data |
| refresh_token | 更新令牌 | |
| grant_type | 填入refresh_token |
请求示例:
| refresh_token | 更新令牌 | |
| access_token | 令牌 | |
| expires_in | 过期时间 | |
| token_type | Bearer | |
| scope userinfo | openid | |
| refresh_token | 用于更新令牌的令牌 |
{
“access_token”: “51s34LPxhhKlUTP5r5mHevGW7ussXC”,
“expires_in”: 36000,
“token_type”: “Bearer”,
“scope”: “userinfo”,
“refresh_token”: “68trmzGvLmmbjACnHFGgzoCl5LBOrJ”
}
如果希望快速的了解系统的基本使用,可以访问 https://idaas.akid.cc
注册后,创建自己的租户,即可使用系统的大部分功能。
如果希望体验超级管理员,安装配置插件等,推荐使用 私有化部署 的方式
ArkID方舟一账通是一款插件化、多租户、云原生的开源统一身份认证授权管理解决方案/身份云管理平台,采用LGPL-3.0 开源协议;支持多种标准协议(LDAP, OAuth2, SAML, OpenID),细粒度权限控制,完整的WEB管理功能,钉钉、企业微信集成等。ArkID 既可以作为企业终端客户资产统一管理 CIAM,可作为企业内部雇员、外部伙伴统一身份管理平台 EIAM;助企业构建标准化的用户身份体系。