资料库 API列表
联系我们
注册 登录

使用 Implicit Grant 方式获取 Access Token

使用场景

使用Implicit Grant获取Access Token的授权验证流程适用于没有server端的客户端应用,由客户端发起授权请求,保存和处理Access Token。

授权流程

Authorization Code 授权分为两步,首先获取Authorization Code,然后用Code换取Access Token。

官方流程示意图:

oauth2_6.gif

交互图:

oauth2_implict.gif

请求步骤

请求数据包格式:

  • 请求地址:https://open.cnipr.com/oauth/authorize
  • 请求方法: GET
  • 请求参数:
    参数字段 是否必须 说明
    client_id 必须 用户登录后,接入应用成功后,分配的client_id。
    redirect_uri 必须 须跟注册client_id时填写的地址一致
    response_type 必须 授权类型,此值固定为"token"
    state 可选 用于保持请求和回调的状态,授权请求成功后原样带回给第三方。
    该参数用于防止csrf攻击(跨站请求伪造攻击),强烈建议第三方带上该参数。

响应数据包格式:

  • 如果授权成功,授权服务器会将用户的浏览器重定向到一个新页面上,并带上code,openid和openkey等参数,新页面元素如下:
    <body>
    <div id="openid">OPENID </div>
    <div id="openkey">OPENKEY</div>
    <div id="expires_in">EXPIRES_IN </div>
    <div id="access_token">ACCESS_TOKEN</div>
    <div id="state">STATE </div>
    </body>
  • 返回参数:
    参数字段 说明
    openid 用户统一标识,可以唯一标识一个用户。网站或应用可将此ID进行存储,便于用户下次登录时辨识其身份。
    openkey 与openid对应的用户key,是验证openid身份的验证密钥
    access_token 访问资源API的凭证
    expires_in access_token的过期时长,以秒为单位
    state 用于保持请求和回调的状态,授权请求成功后原样带回给第三方。
    该参数用于防止csrf攻击(跨站请求伪造攻击),强烈建议第三方带上该参数。
  • 错误码说明:
    接口调用有错误时,会返回code和msg字段,以Json格式返回。具体参见 OAuth2返回值码说明
有Server端的应用可以通过使用Authorization Code获取Access Token,请参考Authorization Code授权