OAuth 2.0接口参考

3.3 用户授权(H5登陆)

3.3.1 请求方式

POST https://[lid]oauth.ibroadlink.com/oauth/v2/login/info

3.3.2 参数列表

请求参数列表

参数名 类型 是否必需 位置 取值范围 描述
response_type string request form 可取值code(Authorization Code Grant)或token(Implicit Grant) 选择授权的模式
client_id string request form 第三方在BroadLink开发者平台上申请的clientid
redirect_uri string request form 第三方在BroadLink开发者平台上填写的回调地址 授权成功后会回调到该地址
state string request form 第三方需要传递的信息,会在返回时原样返回
phone string request body 用户的BroadLink账号(不区分手机和邮箱)
password string request body 用户的BroadLink密码

返回参数列表(Authorization Code Grant)

参数名 类型 是否必需 位置 取值范围 描述
code string NA response body BroadLink的授权码
state string NA response body 与请求时第三方所携带的state一致
status int NA response body 返回状态值
msg string NA response body 返回消息
error string NA response body 错误信息,不为空表示出错
error_description string NA response body 错误描述,描述具体的出错原因

返回参数列表(Implicit Grant)

参数名 类型 是否必需 位置 取值范围 描述
access_token string NA response body BroadLink的accesstoken
refresh_token string NA response body BroadLink的refreshtoken
expires_in int NA response body BroadLink的token过期时间
token_type string NA response body Bearer
openuserid string NA response body BroadLink的openid
state string NA response body 与请求时第三方所携带的state一致
status int NA response body 返回状态值
msg string NA response body 返回消息
error string NA response body 错误信息,不为空表示出错
error_description string NA response body 错误描述,描述具体的出错原因

3.3.3 接口示例

Authorization Code Grant

POST https://[lid]oauth.ibroadlink.com/oauth/v2/login/info?response_type=code&client_id=xxx&redirect_uri=https%3a%2f%2flocalhost&state=123

Header

Content-Type: application/json

Body

{
	"phone": "xxx",
	"password": "xxx"
}

Example Response

{
	"code": "xxx",
	"state": "123",
	"status": 0,
	"msg": "ok"
}

Error Response

{
	"error": "server_error",
	"error_description": "The authorization server encountered an unexpected condition that prevented it from fulfilling the request.",
	"state": "123"
}

3.6 获取accesstoken

3.6.1 请求方式

POST https://[lid]oauth.ibroadlink.com/oauth/v2/token

3.6.2 参数列表

请求参数列表

参数名 类型 是否必需 位置 取值范围 描述
grant_type string request form 取”authorization_code”
code string request form BroadLink的授权码
redirect_uri string request form 第三方在BroadLink开发者平台上填写的回调地址 需与授权时的回调地址一致
Authorization string request header Basic {auth},其中{auth}为base64({clientid}:{clientsecret})

返回参数列表

参数名 类型 是否必需 位置 取值范围 描述
access_token string NA response body BroadLink的accesstoken
refresh_token string NA response body BroadLink的refreshtoken
expires_in int NA response body BroadLink的token过期时间
token_type string NA response body Bearer
openuserid string NA response body BroadLink的openid
status int NA response body 返回状态值
msg string NA response body 返回消息
error string NA response body 错误信息,不为空表示出错
error_description string NA response body 错误描述,描述具体的出错原因

3.6.3 接口示例

POST https://[lid]oauth.ibroadlink.com/oauth/v2/token?grant_type=authorization_code&code=xxx&redirect_uri=xxx

Header

Content-Type: application/x-www-form-urlencoded
Authorization: Basic xxx

Example Response

{
	"access_token": "xxx",
	"refresh_token": "xxx",
	"expires_in": 302400,
	"token_type": "Bearer",
	"openuserid": "xxx",
	"status": 0,
	"msg": "ok"
}

Error Response

{
	"error": "invalid_grant",
	"error_description": "authorizedata not found"
}

3.7 刷新accesstoken

3.7.1 请求方式

POST https://[lid]oauth.ibroadlink.com/oauth/v2/token

3.7.2 参数列表

请求参数列表

参数名 类型 是否必需 位置 取值范围 描述
grant_type string request form 取”refresh_token”
refresh_token string request form BroadLink的refreshtoken
Authorization string request header Basic {auth},其中{auth}为base64({clientid}:{clientsecret})

返回参数列表

参数名 类型 是否必需 位置 取值范围 描述
access_token string NA response body BroadLink的accesstoken
refresh_token string NA response body BroadLink的refreshtoken
expires_in int NA response body BroadLink的token过期时间
token_type string NA response body Bearer
openuserid string NA response body BroadLink的openid
status int NA response body 返回状态值
msg string NA response body 返回消息
error string NA response body 错误信息,不为空表示出错
error_description string NA response body 错误描述,描述具体的出错原因

3.7.3 接口示例

POST https://[lid]oauth.ibroadlink.com/oauth/v2/token?grant_type=refresh_token&refresh_token=xxx

Header

Content-Type: application/x-www-form-urlencoded
Authorization: Basic xxx

Example Response

{
	"access_token": "xxx",
	"refresh_token": "xxx",
	"expires_in": 302400,
	"token_type": "Bearer",
	"openuserid": "xxx",
	"status": 0,
	"msg": "ok"
}

Error Response

{
	"error": "invalid_grant",
	"error_description": "The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client."
}

3.8 获取用户信息

3.8.1 请求方式

GET https://[lid]oauth.ibroadlink.com/oauth/v2/server/getlogindata

3.8.2 参数列表

请求参数列表

参数名 类型 是否必需 位置 取值范围 描述
access_token string request form BroadLink的accesstoken

返回参数列表

参数名 类型 是否必需 位置 取值范围 描述
userid string NA response body BroadLink的userid
loginsession string NA response body
nickname string NA response body
status int NA response body 返回状态值
msg string NA response body 返回消息

3.8.3 接口示例

GET https://[lid]oauth.ibroadlink.com/oauth/v2/server/getlogindata?access_token=xxx

Example Response

{
	"userid": "xxx",
	"loginsession": "xxx",
	"nickname": "xxx",
	"status": 0,
	"msg": "ok"
}

Error Response

{
	"status": -32012,
	"msg": "token失效"
}

4. 状态码描述

状态码 状态信息 状态描述 处理建议
-35001、-32005 服务器繁忙 一般都是服务器内部错误 找相关开发排查问题
-35002、-32001 数据错误 一般都是请求参数有误 检查请求参数是否正确
-35003 不存在该oauth信息 不存在该oauth信息 先添加第三方的client信息
-35006 获取第三方token失败 获取第三方token失败 检查code和clientid是否正确
-35011 登录失败 登录失败 BroadLink的accesstoken是否正确
-32006 未找到该oauth client clientid有误 检查clientid是否正确
-32011 参数有误 请求参数有误 检查请求参数是否正确
-32012 token失效 BroadLink的token失效 BroadLink的accesstoken是否正确