zoukankan      html  css  js  c++  java
  • 07.oAuth2介绍

    07.oAuth2介绍

    微信可以任意的去添加客户端,第三方的客户端,。去生成key和secret。你就自动成为他的第三方可以,去调用微信的api

    简书的第三方登陆

    点击微博,这里用到OAuth里面最严格的一种模式

    这是跳转到微博的页面地址:

    https://api.weibo.com/oauth2/authorize?client_id=1881139527&redirect_uri=http%3A%2F%2Fwww.jianshu.com%2Fusers%2Fauth%2Fweibo%2Fcallback&response_type=code&state=%257B%257D

    拆分一下地址:

    https://api.weibo.com/oauth2/authorize?

    client_id=1881139527

    &

    redirect_uri=http%3A%2F%2Fwww.jianshu.com%2Fusers%2Fauth%2Fweibo%2Fcallback

    &

    response_type=code

    &

    state=%257B%257D

    登陆之后

    点击链接,自动跳转回到简书的页面

    我们把上面的参数

    redirect_uri=http%3A%2F%2Fwww.jianshu.com%2Fusers%2Fauth%2Fweibo%2Fcallback

    复制到解码的网站url解码一下

    http://tool.chinaz.com/tools/urlencode.aspx

    解码的结果:

    http://www.jianshu.com/users/auth/weibo/callback

    看过这个例子以后 ,再来回答什么是OAuth:做的是一个授权的事情、 而不是认证

    我们可以去新浪的开放平台上

    https://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E

    这里就是吧OAuth2.0讲了一遍

    第一步是获取用户同意

    阮一峰的博客会讲的更细一些:

    http://ruanyifeng.com/blog/2014/05/oauth_2_0.html

    这里服务器验证通过后会给它一个Authorize Code给跳转url当做参数传回去。然后会被简书拿过来。再去调用微博的开放平台API,调用授权服务器,拿到一个Access Token

     

    access token并不是直接返回的。简书是通过Authorization Code 拿到后,再去调用api获取到最终的 Access Token的值

    简化模式:

    直接返回了access token

    我输入的用户名和密码是微博上输入的,。不是在简书上输入的。这样我的账号和密码不会泄露给第三方

    密码模式

    密码模式是直接在简书上输入账号密码就获取到微博的access token了。这种一般是在自己信任的网站上才会去使用

    客户端模式

    只需要传client ID



    如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    bzoj1053(反素数)
    poj1442(对顶堆)
    poj2823(单调队列)
    poj3630(简单tire)
    poj1924(单调栈求最大矩阵)
    最大xor路径(poj3764)
    poj2689
    求n!末尾0的个数
    BigInteger和BigDecimal的基本用法
    大数乘法
  • 原文地址:https://www.cnblogs.com/owenzh/p/11289495.html
Copyright © 2011-2022 走看看