Oauth 2.0的简单说明和使用

以获取微博用户最新微博列表数据为例,分3步:



1)请求授权页面,让用户填写账号和密码,从回调地址获取(authorization) code(跟唯一性和加密等有关)。

2)code作为参数之一,请求获取访问令牌接口,获取访问令牌(access token)。

3)使用访问令牌+其他参数请求微博列表接口。

Ps:微博API


1)请求授权页面:给指定应用授权

接口:http://open.weibo.com/wiki/Oauth2/authorize

参数:client_id和redirect_uri

1、client_id用于标识要给哪个应用授权,比如微博应用ShareSDK。

2、redirect_uri用于授权后拿到code的地址。

示例:

https://api.weibo.com/oauth2/authorize?client_id=2365000034&redirect_uri=http://www.baidu.com

(注意URL地址的变化)

用户填写账号和密码,点击登录

Oauth 2.0的简单说明和使用_第1张图片

跳到授权页面

Oauth 2.0的简单说明和使用_第2张图片


用户授权后,跳到回调地址,从回调地址获取code。http://www.baidu.com/?code=29d026348aaaa76e973e863867ed7831

Oauth 2.0的简单说明和使用_第3张图片


2)用code获取access_token。

获取access_token的接口:http://open.weibo.com/wiki/OAuth2/access_token

参数:

client_id:申请应用时分配的AppKey。

client_secret:申请应用时分配的AppSecret。

grant_type:请求的类型,填写authorization_code。

code:调用authorize获得的code值。

redirect_uri:回调地址,需需与注册应用里的回调地址一致。

示例:

参数:

client_id=2365000034

client_secret=719841b31ddecc0345b5f115e41de7fa

grant_type=authorization_code

code=b09fb0dd403a581fe2765e0c2da011ea

redirect_uri=http://www.baidu.com

Oauth 2.0的简单说明和使用_第4张图片


返回数据:

{“access_token":"2.00pXuWCCqXSDaC4474f52ba4gnTiIB","remind_in":"138474","expires_in":138474,"uid":"1869662193"}

拿到access_token:2.00pXuWCCqXSDaC4474f52ba4gnTiIB


3)获取用户最新微博列表数据:

接口:http://open.weibo.com/wiki/2/statuses/public_timeline

参数:

access_token:采用OAuth授权方式为必填参数,其他授权方式不需要此参数,OAuth授权后获得。

count(非必要):单页返回的记录条数,最大不超过200,默认为20。


关于Oauth2.0的注意事项:

1、未通过审核的应用不能给除开发者和测试用户以外的人授权,需要测试的账号需要到微博应用后台添加成为测试用户。

2、请求下来的access token是会过期的,一旦过期需要重新授权获取。使用ShareSDK的用户不用自已处理授权过期的问题,ShareSDK自动处理这些逻辑。

你可能感兴趣的:(Oauth 2.0的简单说明和使用)