sinaweiboios 使用
来源:互联网 发布:淘宝无线端首页尺寸 编辑:程序博客网 时间:2024/06/06 00:56
许多平台提供的 SDK 都实现了这个流程,例如 sinaweiboios 使用一个嵌入 WebView 的 modal ViewController, 而人人网 SDK 则可以选择弹出浮出层或者 push NavigationController 来显示登陆窗口。不用 SDK 的话自己实现也不难,需要在合适的地方放一个 WebView 打开登陆页面。 关键是要设置这个 WebView 的 delegate, 实现 delegate 的webView:shouldStartLoadWithRequest:navigationType: 方法, 在里面检查目标 URL 是否等于 callback redirect_url,若相等则说明授权成功,关闭 WebView 即可。这种实现方式存在以下两个明显的缺点:由于登陆页面是嵌入在 WebView 里的,用户无法判断这个页面是由平台提供的,还是 App 伪造的,丧失了 OAuth 的最大优势,用户的密码安全得不到保障;不同的 App 需要向同一个平台授权时,用户需要反复输入用户名密码。跟第一点相比,这点用户体验的损伤真不算什么。切换到 Safari 进程这种方法是切换到 Safari 进程,打开登陆页面,完成授权后再切换到 App 进程中。 例如 Instagram 绑定 Flickr,甚至 Flickr App 登陆到自己的账户都是用这种方式实现的。实现这种方法,能切换成功的关键在于 App 需要注册自己的 URL scheme, 并用一个符合此 scheme 的 URL 作为授权完毕的回调地址, 这样浏览器打开回调地址时就能返回 App。 例如我们的全国空气污染指数的 url scheme 是 dirtybeijing, 授权完成的回调地址就是 dirtybeijing://sns_authorized/weibo。 在 app delegate 中实现application:openURL:sourceApplication:annotation: (iOS ≥ 4.2) 或者application:handleOpenURL: (iOS < 4.2) 即可捕获通过 URL scheme 打开 App 的事件,从而完成 OAuth 授权的后续流程。
- sinaweiboios 使用
- 使用
- 使用
- 使用
- 使用
- 使用
- 使用
- 使用++,--
- 使用$@ $!
- 使用
- SoftICE使用(指令使用)
- 使用GraphEdit使用
- 使用HtmlParser使用心得
- 时钟使用使用
- Ubuntu 使用Git 使用
- Ubuntu 使用Git 使用
- GUID使用的使用
- Git使用 tortoisegit使用
- azure夜校培训第四场3月8日18:00---网络服务
- 【bzoj2694】Lcm 莫比乌斯反演
- MongoDB数据表基本操作
- 排序算法
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals)
- sinaweiboios 使用
- Swift 判断是否是数字
- HTML5部分小问题
- Java 8 数据流Stream的基本使用
- npm下载错误解决办法
- 安卓和苹果按钮颜色不同解决方案
- 堆
- 图解 Python 深拷贝和浅拷贝
- springMVC源码分析--DispatcherServlet请求获取及处理