获取登录用户access_token
获取登录用户授权码
注意:该请求不能以ajax的方式发起调用,需要以后端302重定向的方式发起,或者前端window.open的方式发起。
请求
| 基本 | |
|---|---|
| 请求方式 | GET |
| 请求地址 | 1. 登录企业管理后台,选择指定的自建应用。 2. 在 “端点信息” 模块,获取应用 “认证端点”。 |
请求参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| client_id | string | 是 | 自建应用的Client ID |
| response_type | string | 是 | 固定值:code |
| redirect_uri | string | 是 | 应用接收授权码的回调地址。该回调地址必须在“企业管理后台-自建应用-认证配置-登录回调地址”中配置。 |
| state | string | 否 | 推荐使用,防CSRF攻击。 认证完成后,OneID会原封不动的把state的值返回给redirect_uri。 |
| scope | string | 否 | 推荐使用,应用需要OneID用户信息的范围。多个scope值以空格分割。 可选值参考:“企业管理后台-自建应用-Scope配置”,注意: • scope中包含 offline_access,则返回refresh_token;• scope中包含 openid,则返回id_token; |
响应
成功响应
成功时,OneID会302重定向至请求中指定的redirect_uri,并携带授权码(code)、state参数返回。
示例
1https://example.com/oauth/callback?code=xxxx&state=xxxx
失败响应
失败时,OneID会302重定向至请求中指定的redirect_uri, 并携带error、error_description参数。
示例
1https://example.com/oauth/callback?error=xxxx&error_description=xxxx
获取access_token
请求
| 基本 | |
|---|---|
| 请求方式 | POST |
| 请求地址 | 1. 登录企业管理后台,选择指定的自建应用。 2. 在 “端点信息” 模块,获取应用 “Token端点”。 |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Content-Type | string | 是 | 固定值:application/x-www-form-urlencoded |
请求参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| client_id | string | 是 | 自建应用的Client ID |
| grant_type | string | 是 | 固定值:authorization_code |
| code | string | 是 | 登录用户授权码。请注意,code 有效期为5分钟,且只能使用一次。 |
| redirect_uri | string | 是 | 生成“登录用户授权码”时传入的redirect_uri。请注意,指定到path,无需包含query。 |
响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| access_token | string | 访问凭证 |
| token_type | string | 领证受众。目前为不记名凭证,即Bearer |
| expires_in | int | 凭证的有效期,单位:秒。 |
| refresh_token | string | 用于刷新access_token。当生成“登录用户授权码”时scope包含offline_access时才会颁发。 |
| id_token | string | JWT格式的用户信息。当生成“登录用户授权码”时scope包含openid时才会颁发。除了用户信息还包括OneID当前登录态的基本信息, 比如: • sid:OneID登录会话唯一标识• auth_time:OneID登录会话建立的时间戳• sexp:OneID登录会话过期的时间戳• amr:OneID登录会话使用的认证方式 |
刷新access_token
请求
| 基本 | |
|---|---|
| 请求方式 | POST |
| 请求地址 | 1. 登录企业管理后台,选择指定的自建应用。 2. 在 “端点信息” 模块,获取应用 “Token端点”。 |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Content-Type | string | 是 | 固定值:application/x-www-form-urlencoded |
请求参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| client_id | string | 是 | 自建应用的Client ID |
| client_secret | string | 是 | 自建应用的Client Secret |
| grant_type | string | 是 | 固定值:refresh_token |
| refresh_token | string | 是 | 刷新令牌,用于刷新 access_token 以及 refresh_token。 |
响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| access_token | string | 访问凭证 |
| refresh_token | string | 新生成的refresh_token,建议使用者保存并覆盖之前的refresh_token。 注:之前颁发的refresh_token并不会被注销。 |
| token_type | string | 领证受众。目前为不记名凭证,即Bearer |
| expires_in | int | 凭证的有效期,单位:秒。 |
| id_token | string | JWT格式的用户信息。当生成“登录用户授权码”时scope包含openid时才会颁发。除了用户信息还包括OneID当前登录态的基本信息, 比如: • sid:OneID登录会话唯一标识• auth_time:OneID登录会话建立的时间戳• sexp:OneID登录会话过期的时间戳• amr:OneID登录会话使用的认证方式 |
