IOS开发--第三阶段--微博(1)文档
0https://itunes.apple.com/cn/app/you-dao-ci-dian/id491854842?mt=12 id491854842这个也叫做Apple ID区别于在AppStore下载使用的apple id(下载使用的账号)
注册新浪邮箱
注册新浪微博
开放平台成为开发者
注册账号
创建应用 移动应用 填写开发者信息
创建新应用 填写基本信息 成功后显示基本信息
记录:
App Key:3744355969
App Secret:f4cd173c39d67d3f3fef43d5c63fe9c0
高级信息
OAuth2.0 授权设置
授权回调页 当用户授权你的应用后,开放平台会回调你填写的这个地址
取消授权回调页 当用户在我的应用管理页中取消对你的应用授权时,开放平台会回调该地址
http://www.zhiyou100.com
2、OAuth2.0授权流程
学生(第三方应用)想要请假外出,需要写个请假条(加载授权界面),找班主任签字(同意授权),授课老师签字(认证码),学校盖章(获取access token)
流程图:
Client指第三方应用,Resource Owner指用户,Authorization Server是新浪的授权服务器,Resource Server是资源服务器。
授权认证的目的就是通过一系列的流程 APP可以访问资源服务器上的用户的信息
新浪有OAuth机制
APP要访问资源服务器上的资源0
A:APP向用户发出授权请求(当用户点击了分享,提供一个界面让用户登录并授权)
B:用户授权给APP (用户登录并授权 拿到验证码)
C:APP向授权服务器请求 Access Token (APP使用验证码请求 Access Token)
D:授权服务器返回Access Token给APP (授权服务器返回 Access Token)
E:APP提交Access Token给资源服务器 (APP使用 Access Token 访问资源服务器)
资源服务器提供受保护的信息给APP (你的所有信息都在资源服务器 资源服务器验证访问令牌 提供信息给APP)
代码实现流程:
创建webView 设置代理 实现协议方法
首先访问授权接口 Oauth2/authorize接口
构建请求
webView加载
用户登录
在协议方法将要开始加载一个请求时,返回一个授权连接 点击授权
授权服务器返回一个连接 连接中包含(redirect_uri+code)
请求授权完成后执行shouldStartLoadWithRequest判断是否返回code
根据code构建一次请求
请求结束方法中获取access token
OAuth
OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAuth是安全的
例如:帅APP 需要访问 帅用户 的资源 新浪