美文网首页
Oauth 2.0的简单说明和使用

Oauth 2.0的简单说明和使用

作者: 跟凯老师学霸气 | 来源:发表于2016-01-02 17:19 被阅读2372次

    以获取微博用户最新微博列表数据为例,分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地址的变化)

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

    跳到授权页面

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


    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

    返回数据:

    {“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的简单说明和使用

          本文链接:https://www.haomeiwen.com/subject/nhxghttx.html