当前位置:首页 |
浏览器授权流程
user-agent flow
获取access_token
参数:
参数名称 | 参数说明 |
client_id | 必选参数,应用的唯一标识,对应于APIKey |
redirect_uri | 必选参数,用户授权完成后的回调地址,应用需要通过此回调地址获得用户的授权结果。此地址必须与在应用注册时填写的回调地址一致。 |
response_type | 必选参数,此值可以为 code 或者 token 。在本流程中,此值为 token |
scope | 可选参数,申请权限的范围,如果不填,则使用缺省的scope。如果申请多个scope,使用逗号分隔。 |
state | 可选参数,用来维护请求和回调状态的附加字符串,在授权完成回调时会附加此参数,应用可以根据此字符串来判断上下文关系。 |
*注意:此请求必须是HTTP GET方式,此流程不会生成refresh_token
例如:
{
https://www.douban.com/service/auth2/auth?client_id=0b5405e19c58e4cc21fc11a4d50aae64&redirect_uri=https://www.example.com/back&response_type=token&scope=shuo_basic_r,shuo_basic_w
}
通过在浏览器中访问下面的地址,来引导用户授权,并获得access_token
{
https://www.douban.com/service/auth2/auth
}
返回结果:
当用户拒绝授权时,浏览器会重定向到redirect_uri,并附加错误信息
{
https://www.example.com/back?error=access_denied
}
当用户同意授权时,浏览器会重定向到redirect_uri,并附加access_token
{
https://www.example.com/back#access_token=a14afef0f66fcffce3e0fcd2e34f6ff4&expires_in=3600
}
使用access_token
{
curl "https://api.douban.com/v2/user/~me" -H "Authorization: Bearer a14afef0f66fcffce3e0fcd2e34f6ff4"
}