设备认证接口
发布时间:2025-03-08 12:15:25
来源: 亿登科技
请求方式:POST
请求地址:https://idaas-api.yidengtech.com/third/oidc/v1/{app_id}/device_authorize
请求头
|
名称
|
说明
|
必须
|
示例值
|
描述
|
|
Content-Type
|
请求体的数据格式
|
是
|
application/x-www-form-urlencoded
|
告知服务器请求体(Body)中数据的格式是表单键值对
|
请求参数
|
名称
|
说明
|
必须
|
示例值
|
描述
|
|
client_id
|
客户端ID
|
是
|
app123
|
应用在IDP注册时获得的唯一标识
|
|
scope
|
权限范围
|
否
|
openid profile
|
支持openid、profile、email、phone。必须对参数URLEncode编码。
|
响应参数
|
名称
|
说明
|
必须
|
示例值
|
描述
|
|
device_code
|
设备唯一标识码
|
是
|
9c17c984faf844aab4bda5d5654ff131
|
设备与授权服务器通信的凭证,需保密存储,避免泄露。
用于设备后续轮询获取令牌时验证身份。
|
|
user_code
|
用户验证码
|
是
|
0702-8274
|
短字符串或数字组合,通常为4-8位,用于用户手动输入或扫码验证。
用户需在另一台设备(如手机)上输入此码完成身份验证。
|
|
verification_uri
|
用户验证页面的基础URL
|
是
|
https://{domain}/#/login/xxx/x
|
基础链接,用户需自行拼接或输入user_code完成验证。
|
|
verification_uri_complete
|
完整用户验证页面URL
|
否
|
https://{domain}/#/login/xxx/xx?user_code=xxx-xxx
|
简化用户操作,适合生成二维码或直接跳转的场景。
完整链接,已包含user_code,用户可直接访问无需手动输入。
|
|
expires_in
|
设备码的有效期(秒)
|
是
|
1800(即30分钟)
|
通常设置为几分钟到几小时,需根据业务需求权衡安全性和用户体验。
超时后设备需重新获取设备码。
|
|
expires_at
|
过期时间戳
|
否
|
1772198384
|
与expires_in二选一即可,用于设备判断当前设备码是否已过期。
设备码的过期时间戳(Unix时间),精确到秒。
|
|
interval
|
轮询间隔
|
是
|
5
|
设备需按此间隔定期发送请求,避免频繁轮询导致服务器压力过大。
设备轮询授权服务器的间隔时间(秒),建议值为5秒。
|
成功响应
{
"device_code": "9c17c984faf844aab4bda5d5654ff131",
"user_code": "0702-8274",
"verification_uri": "https://api-test.yidengtech.com/#/login/device/code/flow/app_0f9952fa24984a7fb7ac93e99f0ea249",
"verification_uri_complete": "https://api-test.yidengtech.com/#/login/device/code/flow/app_0f9952fa24984a7fb7ac93e99f0ea249?user_code=0702-8274",
"expires_in": 1800,
"expires_at": 1772198384,
"interval": 5
}
错误响应
https://app.com/callback?error=access_denied&error_description=用户拒绝授权