oauth2.0协议api-j9九游会登录
oauth2.0协议下应用检验用户信息包括如下:
{
"username":"zhangsan",
"name":"张三",
"tenant":"34a59a26e6a24071a9cc7a0526440171",
"organizationcode":”10000”,
"role":"user"}
|
参数名 |
类型 |
参数说明 |
描述 |
|---|---|---|---|
|
name |
string |
用户姓名、昵称 |
/ |
|
username |
string |
用户账号 |
登录账号,与同步接口中的username是一致的 |
|
tenant |
string |
企业的domainid |
与同步接口中的domainid |
|
role |
string |
用户角色 |
user --代表用户,admin-- 代表企业管理员 |
|
organizationcode |
string |
组织机构编码 |
与同步接口中的orgcode是一致的 |
用户账号测试方法:
1、打开,将获取相关应用测试账号,
2、填写申请的测试账号进行单点登录测试
例:https://macroverse.huaweicloud.com/unified-login/#/portal-login?ind=unop&appid={应用id}
应用id:申请应用凭证后生成的应用id
认证登录获取授权码
get /api/v1/oauth2/authorize
|
query参数 |
|||
|---|---|---|---|
|
参数 |
是否必选 |
参数类型 |
描述 |
|
client_id |
是 |
string |
应用标识,注册应用后,分配的clientid。 |
|
redirect_uri |
是 |
string |
回调地址,注册应用时填写的回调地址,表示应用接收oneaccess授权码的地址。 |
|
response_type |
是 |
string |
授权类型,固定值:code。 |
|
scope |
否 |
string |
授权范围 ,默认值:get_user_info。 |
|
state |
否 |
string |
应用的状态值。可用于防止csrf攻击,成功授权后回调应用时会原样带回,应用用它校验认证请求与回调请求的对应关系。可以包含字母和数字。 |
请求参数
无
响应参数
状态码: 302
|
响应header参数 |
||
|---|---|---|
|
参数 |
参数类型 |
描述 |
|
location |
string |
认证登录成功,重定向地址。例:https://example.com?code=z2d...&state=test |
请求示例
get https://{domain_name}/api/v1/oauth2/authorize?response_type=code&client_id=nzzewuija91dpsrdzqchmazih13aw...&redirect_uri=https://example.com&scope=get_user_info&state=test
响应示例
无
状态码
|
状态码 |
描述 |
|---|---|
|
302 |
用户未登录,跳转用户登录页面; 用户已登录,携带授权码重定向到redirect_uri地址。例:https://example.com?code=z2d...&state=test。 |
获取accesstoken
post /api/v1/oauth2/token
请求参数
|
formurlencoded参数 |
|||
|---|---|---|---|
|
参数 |
是否必选 |
参数类型 |
描述 |
|
client_id |
是 |
string |
应用标识,注册应用后,分配的clientid。 |
|
client_secret |
是 |
string |
应用密钥,注册应用后,分配的clientsecret。 |
|
code |
是 |
string |
授权码,认证登录后回调获取的授权码。 |
|
grant_type |
是 |
string |
授权类型,固定值:authorization_code。 |
|
redirect_uri |
否 |
string |
回调地址,注册应用时填写的回调地址,需跟注册时保持一致。 |
响应参数
状态码: 200
|
响应body参数 |
||
|---|---|---|
|
参数 |
参数类型 |
描述 |
|
access_token |
string |
授权服务器返回给第三方应用的访问令牌。 |
|
token_type |
string |
访问令牌类型。固定值:bearer。 |
|
expires_in |
long |
访问令牌的有效期,以秒为单位。 |
|
scope |
string |
授权范围。 |
|
refresh_token |
string |
刷新令牌。默认不生成refresh_token,如果需要,在应用的"认证配置”中设置"refresh token有效期”后生成返回。 |
refresh_token有效期设置应比access_token长。
状态码: 400
|
响应body参数 |
||
|---|---|---|
|
参数 |
参数类型 |
描述 |
|
error |
string |
错误类型。 |
|
error_description |
string |
错误描述。 |
请求示例
post https://{domain_name}/api/v1/oauth2/token content-type: application/x-www-form-urlencoded code=z2d...& client_id=nzzewuija91dpsrdzqchmazih13aw...& client_secret=******...& redirect_uri=https://example.com& grant_type=authorization_code
响应示例
状态码: 200
请求成功。
· 示例 1
· { · "access_token" : "******...", · "token_type" : "bearer", · "expires_in" : "7200", · "scope" : "get_user_info" }
· 示例 2
· { · "access_token" : "******...", · "token_type" : "bearer", · "expires_in" : "7200", · "scope" : "get_user_info", · "refresh_token" : "******..." }
状态码: 400
请求错误。
{ "error" : "invalid_grant", "error_description" : "invalid authorization code" }
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
请求成功。 |
|
400 |
请求错误。 |
获取用户信息
get /api/v1/oauth2/userinfo
请求参数
|
请求header参数 |
|||
|---|---|---|---|
|
参数 |
是否必选 |
参数类型 |
描述 |
|
accept |
是 |
string |
接收响应类型,值:application/json。 |
|
authorization |
是 |
string |
认证凭据,值:bearer {access_token}。 |
响应参数
状态码: 200
|
响应body参数 |
||
|---|---|---|
|
参数 |
参数类型 |
描述 |
|
id |
string |
用户id |
|
username |
string |
用户名 |
|
name |
string |
姓名 |
|
|
string |
邮箱地址 |
|
mobile |
string |
手机号 |
|
role |
string |
角色 |
|
organizationname |
string |
组织名称 |
|
accname |
string |
登录名称 |
|
userid |
string |
用户id |
|
organizationcode |
string |
组织编码 |
|
loginname |
string |
登录名称 |
|
projectname |
string |
租户名称 |
|
tenant |
string |
租户id |
状态码: 401
|
表3 响应body参数 |
||
|---|---|---|
|
参数 |
参数类型 |
描述 |
|
error |
string |
错误类型。 |
|
error_description |
string |
错误描述。 |
请求示例
get https://{domain_name}/api/v1/oauth2/userinfo authorization: bearer b7e1fda8-33ce-432c-9b97-7ff035fac... accept: application/json
响应示例
状态码: 200
请求成功。
{ "id" : "20201029190841785-cb37-8bd36b...", "name" : "test", "username" : "test", "mobile" : "12345678901", "email" : "123@example.com" }
状态码: 401
认证失败。
{ "error" : "unauthorized", "error_description" : "full authentication is required to access this resource" }
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
请求成功。 |
|
401 |
认证失败。 |
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨