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