简化授权模式
请求说明
请求方式:GET
请求地址:https://{your_domain}/api/v1/authorize/{app_code}/oauth2/auth
请求头
无
请求示例
GET https://{your_domain}/api/v1/authorize/{app_code}/oauth2/auth?client_id=2bae87d88feb129f817a1ce52d798e0b&response_type=code&redirect_uri=https://127.0.0.1:8080/login/oauth2&scope=openid profile
请求参数
参数名 | 中文名称 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
client_id | 客户端ID | 是 | 2bae87d88feb129f817a1ce52d798e0b | 申请接入后分配给第三方应用的clientid。 |
response_type | 授权类型 | 是 | token id_token | 授权类型。可选值:id_token 或 id_token token。取id_token值时,返回id_token;取id_token token值时,返回access_token和id_token。 |
redirect_uri | 回调地址 | 是 | https://127.0.0.1:8080/login/oauth2 | 授权后的回调地址,必须是注册应用时填写的可信域名一致,需要将url进行URLEncode编码。 |
state | state | 可选 | 4dR2J42l--8jkiS2jN9mHTkrl9XXDcECa7GyscM42EY= | 用于防止CSRF攻击,成功授权后回调时会原样带回,请检查用户与state状态绑定。 |
nonce | nonce | response_type 为 id_token 时必选 | 8jkiS2jN9Ca7GyscM42EY | 由应用程序生成且包含在请求中的值,以声明方式包含在生成的 ID 令牌中。 应用程序接着便可确认此值,以减少令牌重新执行攻击。 该值通常是随机的唯一字符串,可用于标识请求的来源。 只有请求 id_token 时才是必需的。 |
scope | scope范围 | 可选 | openid profile | 可选值openid email phone profile。 |
response_mode | 响应方式 | 可选 | fragment | 默认值 fragment,可选query。 |
响应参数
参数名 | 中文名称 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
token_type | 令牌类型 | 是 | Bearer | 始终为 Bearer。 |
access_token | 授权令牌 | 可选 | 5Vy9tHWsp6xORfDaTVJ49_qtFZ6wXSy | 如果 response_type 包含 token,则包含该参数。 |
id_token | id_token | 可选 | eyJ0eXAiOiJKV1QiZnl0aEV1Q... | 仅当授权范围为 openid 且 response_type 包括 id_token 时才提供。 |
scope | 授权范围 | 可选 | openid | 应用端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。 |
expires_in | 授权令牌的有效期 | 可选 | 21599 | 授权服务器返回给应用的访问票据的有效期。注意:有效期以秒为单位。 |
响应示例
成功
HTTP Status: 302
{redirect_uri}#token_type=Bearer&access_token=BivLLxwMufUhJGy1OfSuoYdb5MUPIhEejRTO5znrCVtCjL3GpTkLEwSFeGtq5U-FGkU9Sv5CI_rDwi-T9RCGssEUj9vUcgNe7JGAbSROn969uxjNKpzyku0F9Cmmbo5b&expires_in=21600&id_token=eyJraWQiOiIxMTI5MDE5NjI2NjYwMTU1MzkyIiwiYWxnIjoiUlMyNTYifQ...
client_id 参数缺失
client_id 参数不正确
response_type 参数值错误
redirect_uri 参数不正确
scope 参数不正确
HTTP Status: 302
{redirect_uri}?error=invalid_scope&error_description=OAuth 2.0 Parameter: scope&error_uri=https://topiam.cn/docs/application/oidc/faq/#错误码
response_mode 参数不正确
HTTP Status: 302
{redirect_uri}?error=invalid_request&error_description=OAuth 2.0 Parameter: response_mode&error_uri=https://topiam.cn/docs/application/oidc/faq/#错误码