zoukankan      html  css  js  c++  java
  • 新浪微博的OAuth2认证过程

    1. 创建应用

    在weibo.com上申请一个应用,获取app key和app secret, 填写redirect uri

    2. 获取code

    通过在浏览器访问

    https://api.weibo.com/oauth2/authorize?client_id=xxxxx&redirect_uri=http%3A%2F%2Fwww.weibo.com&response_type=code&forcelogin=true
    

    其中client_idredirect_uri是必须的,client_id是app key, redirect_uri是回调地址,都必须和应用所配置的相一致. 我这里的redirect_uri填了http://www.weibo.com

    在页面中填入登录的新浪微博账号和密码,按确定后便会跳转到 http://www.weibo.com?code=xxxxxxxxxx,这里的参数code就是我们所需的

    3. 获取access token

    这个过程需要通过post,可以利用工具curl来模拟post请求

    curl -d "client_id=xxx&client_secret=xxx&grant_type=authorization_code&redirect_uri=http%3A%2F%2Fwww.weibo.com&code=xxxxx" "https://api.weibo.com/oauth2/access_token"
    

    其中,client_secret是app secret,code是上一步获取到的.

    这一步的返回如下: {"access_token":"xxxx", ...} 这就是我们所需的access token.

    (ps: 若是用curl模拟get,直接 curl "http://abc.com?p1=a&p2=b")

    4. 使用access token调用微博api的各个接口

    这里用"获取自己所发微博"举例,在浏览器打开

    https://api.weibo.com/2/statuses/user_timeline.json?access_token=xxxx
    

    并使用浏览器的调试工具查看返回结果,会自动对json进行格式化


    以上就是如何使用浏览器模拟微博的oauth2认证过程,省去使用sdk,可以直接用 在我们的应用中,但是,有一个小问题我想不明白,第二步获取的code必须是通过 回调uri的参数处获得,不知道各sdk里是如何获取到这个code的?

  • 相关阅读:
    转 mysql 数据结构详解
    转单元测试之道C#版
    转 告诉你如何用C#写出iOS与Android应用
    转 MySQL索引背后的数据结构及算法原理
    转单元测试基础知识
    转C#冒泡排序
    如何让web页面鼠标右键单击之后不出现菜单选项
    开博文
    jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
    jquery ui tabs详解(中文)
  • 原文地址:https://www.cnblogs.com/jacobpan/p/7183946.html
Copyright © 2011-2022 走看看