将 cookie 传递给 UIWebView - iOS

Pass cookie to UIWebView - iOS

我有一个 iOS 应用程序,它允许用户使用 Apple 内置的 Accounts/Social 框架通过 Facebook 登录。

我的一个问题是,有没有办法将用户身份验证 cookie 从 ACAccountStore 传递到 UIWebView

这意味着,如果用户点击 link 并显示内置网页视图页面,他们将能够 comment/like/etc 而无需登录网页视图.

谢谢,

我认为如果您不控制您想要在所述 webviews 中进行身份验证的服务,那将是不可能的。

将任意 cookie 注入 UIWebView 是可能的,如所描述的那样。这里:。

可以从 ACAccountCredential 检索缓存的身份验证令牌。但是 OAuth 令牌不是会话验证 cookie。

Facebook 就是这样做的。每当在他们的 iOS 客户端中打开 webview 时,用户将在该 webview 中自动通过 Facebook 进行身份验证。但是他们可以控制自己的服务,因此他们为 iOS 客户端创建了一种机制来请求会话验证 cookie(然后将其注入到 webview 中)。

但一般来说,作为第 3 方开发人员,您将无法重现该行为。当然,除非给定的服务有这样的机制来满足他们自己的需要,而你做了一些逆向工程。