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

原文地址:https://www.cnblogs.com/wangjunwei/p/10488920.html