开发公司带authorization访问接口_Authorization Code授权接口

Authorization Code授权接口

1. 获取Authorization Code

请求地址:   https://account.xiaomi.com/oauth2/authorize

请求方法:   GET

请求参数:

名称

必须

类型

备注

client_id

long

开发公司申请应用时分配的APP ID

redirect_uri

string

开发公司授权回调地址, 开发公司必须和申请应用是填写的一致(开发公司参数部分可不一致)

response_type

string

开发公司描述获取授权的方式, Authorization Code方式授权, response_type=code

scope

string

申请scope开发公司权限所需参数,开发公司可一次申请多个scope权限,开发公司用空格分隔,scope权限列表

state

string

开发公司用于保持请求和回调的状态,开发公司授权请求成功后原样带回给第三方,该参数用于防止

CSRF攻击(跨站请求伪造攻击),强烈建议第三方带上该参数

skip_confirm

boolean

已登录用户会看到切换帐号的页面, 如果应用不需要切换帐号, 可以加上参数skip_confirm=true,

黄页应用接入请设置为true

返回值:

成功响应

如果授权成功,授权服务器会将用户的浏览器重定向到redirect_uri,并带上code,state等参数,例子如下:

http://example.com/example?code=CODE&state=STATE

返回参数说明:

名称

必须

类型

备注

code

string

用来换取access_token的授权码,有效期为5分钟且只能用一次

state

string

如果请求时传递参数,会回传该参数

失败响应

如果授权失败,授权服务器会将用户的浏览器重定向到redirect_uri,并带上error,error_description, state等参数,例子如下:

http://example.com/example?error=ERROR&error_description=ERROR_DESCRIPTION&state=STATE

返回参数说明:

名称

必须

类型

备注

error_description

string

错误描述信息

state

string

如果请求时传递参数,会回传该参数

2. 获取Access Token

请求地址:   https://account.xiaomi.com/oauth2/token

请求方法:   GET

请求参数:

名称

必须

类型

备注

client_id

long

申请应用时分配的APP ID

redirect_uri

string

授权回调地址, 必须和申请应用是填写的一致(参数部分可不一致)

client_secret

string

申请应用时分配的App Secret

grant_type

string

固定为authorization_code

code

string

第1小节中拿到的授权码

返回值:

成功响应

如果请求成功,授权服务器会返回JSON格式的字符串:

access_token: 要获取的Access Token

expires_in: Access Token的有效期,以秒为单位, 请参考Access Token生命周期

refresh_token: 用于刷新Access Token 的 Refresh Token,所有应用都会返回该参数(10年的有效期)

scope: Access Token最终的访问范围,关于权限的具体信息参考scope权限列表

mac_key: 基于http调用Open API时所需要的mac Key,其有效期与Access Token一致

mac_algorithm: 基于http调用Open API时计算参数签名时候使用的算法, 目前只支持HmacSha1

openId: 用户统一标识,可以唯一标识一个用户.网站或应用可将此ID进行存储,便于用户下次登录时辨识其身份

&&&START&&& {

"access_token": "access token value",

"expires_in": 360000,

"refresh_token": "refresh token value",

"scope": "scope value",

"token_type ": "mac",

"mac_key ": "mac key value",

"mac_algorithm": " HmacSha1",

"openId":"2.0XXXXXXXXX"

}

注意: 前面的&&&START&&&可以直接去掉, 推荐用replace("&&&START&&&", "")

失败响应

如果请求失败,授权服务器会返回JSON格式的字符串:

error:错误码,是一个int类型的数字 请参考OAuth定义的错误码

error_description:一段可读的文字,用来帮助理解和解决发生的错误

&&&START&&&{

"error": "error_code",

"error_description": "错误描述"

}

注意: 前面的&&&START&&&可以直接去掉, 推荐用replace("&&&START&&&", "")

相关资源:
网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发