授权认证

鉴权方式

知晓云开放 API 授权通过 Access Token 作为接口调用的凭证,在对开放 API 发起请求时,均需要在 HTTP Header 加入以下授权参数:

  Authorization: Bearer <Access Token>

若开发者需要在发起 API 请求时进行测试环境的指定,则需要在 HTTP Header 中加入以下环境参数:

  X-Hydrogen-Env-ID: <Env ID>

在不指定环境参数的情况下,默认调用生产环境的 API。

授权流程

  +--------+      ID/Secrct      +--------+
  |        | +-----------------> |        |
  |        |                     |        |
  |        |         Code        |        |
  |        | <-----------------+ |        |
  | Client |                     | 知晓云  |
  |        |         Code        |        |
  |        | +-----------------> |        |
  |        |                     |        |
  |        |    Access Token     |        |
  |        | <-----------------+ |        |
  +--------+                     +--------+

info ID/Secert 为知晓云应用的 ClientIDClientSecret,可通过知晓云管理后台进行获取。

获取 Access Token

获取 Access Token 需要经过以下两个步骤

获取 code

接口

POST https://cloud.minapp.com/api/oauth2/hydrogen/openapi/authorize/

参数说明

Content-Type: application/json

参数
类型
必填
说明

client_id

String

Y

知晓云应用的 ClientID

client_secret

String

Y

知晓云应用的 ClientSecret

返回参数

参数
类型
说明

code

String

授权码

expires_in

Number

code 的过期时间,单位是秒

info 获取 Code 会经过两次的 HTTP 302 Found 跳转,开发者在实现时需要允许客户端跟随跳转。

不跟随跳转示例:

跟随跳转示例:

使用 code 获取 Access Token

接口地址

POST https://cloud.minapp.com/api/oauth2/access_token/

参数说明

Content-Type: application/json

参数
类型
必填
说明

client_id

String

Y

知晓云应用的 ClientID

client_secret

String

Y

知晓云应用的 ClientSecret

code

String

Y

授权码,通过上一步获取到的

grant_type

String

Y

授权类型,这里需指定为 "authorization_code"

返回参数

参数
类型
说明

access_token

String

用户授权的唯一票据

token_type

String

token 类型

expires_in

Number

access_token 过期时间,单位是秒

refresh_token

String

用于刷新授权有效期

scope

String

权限范围

代码示例

使用 Refresh Token 刷新 Access Token

danger 调用此接口会将之前申请的 Access Token(包括 Refresh Token)强制失效,请开发者谨慎操作。

接口地址

POST https://cloud.minapp.com/api/oauth2/access_token/

参数说明

Content-Type: application/json

参数
类型
必填
说明

client_id

String

Y

知晓云应用的 ClientID

client_secret

String

Y

知晓云应用的 ClientSecret

refresh_token

String

Y

刷新凭证,从申请 Access Token 接口获得

grant_type

String

Y

授权类型,这里需指定为 "refresh_token"

返回参数

参数
类型
说明

access_token

String

用户授权的唯一票据

token_type

String

token 类型

expires_in

Number

access_token 过期时间

refresh_token

String

用于刷新授权有效期

scope

String

权限范围

代码示例

danger 开发者需要保证 Access Token 的安全性

Last updated

Was this helpful?