什么是OAuth授权
假如我们需要将应用A
的内容分享到应用B
,最傻的做法就是复制应用A
的内容然后登录到应用B
中进行发布。
这样太过于麻烦了,如果我们在应用A
中直接进行登录应用B
然后一键分享,应该是非常愉快的事情;现在问题又出来了,我们只分享一下应用A
的内容,但是又不想让应用A
知道应用B
的帐号和密码怎么办?OAuth授权就可以帮你。
OAuth授权就是
基本概念
- OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准
- OAuth 的授权不会使第三方触及到用户的帐号信息
- OAuth 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据
- 每一个令牌授权一个
特定的网站
在特定的时段内
访问特定的资源
基本流程图
OAuth授权的基本流程图.png以新浪微博为例的OAuth授权流程
- 首先得有新浪微博的帐号与密码。
- 新浪官方提供一个登录页面,我们可以在自己开发的应用中打开这个页面。
- 然后在此页面中输入帐号与密码之后,点击登录之后,我们可以获取到一个授权码(授权code)。
- 拿到授权code 去获取一个非常关键的东西
AccessToken
- 拿着
AccessToken
去发送微博或者请求微博数据.
申请的流程
-
访问http://open.weibo.com 成为新浪的开发者(个人)
-
添加应用:点击
这里我们获取了两个关键的信息@2x.png微链接
-->移动应用
-->立即接入
-->创建新的应用。
- 创建应该完毕,需要知道两个非常重要的东西
- App Key:3594405192
- App Secret:55dc501a4f072afff37193fd9495a7a3
-
配置回调页(url地址)以及测试帐号
-
点击
应用信息
-->高级信息
来配置授权回调页
和取消授权回调页
。
用来配置应用的回调页@2x.png授权回调页的地址一定要完全一样。重要的事情说一遍。
- 点击
应用信息
-->测试信息
,开发测试帐号作用是在开发阶段,只允许测试帐号登录,除了测试帐号之外的帐号都不能进行登录
,所以如果别的帐号想要通过这个应用发布信息到微博中,都必须把该帐号添加为测试帐号。
测试帐号的截图@2x.png
申请结果
Key | 值 |
---|---|
App Key | 3594405192 |
App Secret | 55dc501a4f072afff37193fd9495a7a3 |
回调页地址 | http://www.sina.com/ |
接口文档
点击文档
-->微博API
-->OAuth2.0授权
进行获取AccessToken。
网友评论