Art*_*tem 10 authentication safari facebook ios
我们有一个使用本机Facebook登录的ios应用程序就好了.
然后我们还有一个网站(应用程序基本上是一个优化的客户端),人们也可以通过Facebook登录.当他们在移动野生动物园中打开我们的网站时,他们会被引导到Facebook页面进行身份验证并且可以正常运行,但是它仍然远离原生,用户必须重新输入他们在ios中经常拥有的凭据.
那么有可能以某种方式为网页启动系统fb身份验证(可能使用一些聪明的URL模式吗?)并获得授予令牌回到网络?
小智 5
困难的方法 如此处 所述http://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified#mobile-apps您可以找到 URL 方案来触发本机 iOS 应用程序进行应用程序授权:
fbauth://authorize?redirect_uri=[redirect_uri]&client_id=[client_id]&response_type=token
Run Code Online (Sandbox Code Playgroud)
但是,如果您调用该链接,则不可能进行重定向。您可以尝试破解该重定向,但也许您找不到出路。
解决该问题的一种安全方法是在用户登录时使用 SSO 令牌对您的应用程序上的用户进行身份验证,然后在 Safari 上进行重定向,使用指向您的应用程序的自定义 URL,通过存储的令牌作为与 FB 应用程序的桥梁在您的 APP 中。在 FB 身份验证后,您可以直接将用户重定向回 Safari 中的登录页面。正如@Lego 所说,这是一种直接身份验证的替代方法,可以通过深入到 FB 使用的自定义 URL 来实现。
不,目前还无法通过本机 Facebook 应用程序直接对用户进行身份验证,但可以使用自定义 URL 方案对用户进行身份验证,该方案会打开本机 iOS 应用程序,然后处理身份验证流程:
用户使用您的 iOS 应用程序进行本机身份验证。然后,您将用户登录名(而不是密码)存储在您的应用程序中(即使用NSUserDefaults)。
然后用户在 Mobile Safari 中打开您的网页。您通过自定义 URL 方案将用户重定向到您的应用程序(即使用 myapp://authenticate)。有关实现自定义 URL 方案的 Apple 文档:单击
现在,如果您的 iOS 应用程序中有一个活动的 FB 会话,您可以直接将用户重定向回 Mobile Safari 中的登录页面,通过 url get 参数传递访问令牌,或者首先重新验证用户身份,显示登录信息查看预先填写的用户名,该用户名是您之前存储在 iOS 应用程序中的(步骤 1),然后将用户重定向到您的登陆页面,这同样取决于会话状态和您的安全需求。
| 归档时间: |
|
| 查看次数: |
4217 次 |
| 最近记录: |