我搜索了很长时间,但只能找到真正基本的信息,所以我决定在这里问:
简单的说法是,我想针对rails web应用程序对iOS应用程序进行身份验证。 我想过基于HTTP Basic或Token的东西 - 但这不是我真正想要的。 我想通过Facebook,Twitter等对OAuth进行身份验证。 在轨道方面,这非常简单。使用omniAuth的设备完成了这项工作。 但是如何使用此方法验证iOS应用程序?
如果有人能够就如何做到这一点提供更详细的观点,那就太棒了。
答案 0 :(得分:1)
我认为你有两个解决方案。
1:WebView
使用WebView进行OAuth请求/响应。
ShareKit的{p> SHKOAuthView将有助于您的理解。- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
// "OAUTH_DID_FINISH_SUCCESS_URL" is URL your wab app display after finishing OAuth authentication successfully.
if ([request.URL.absoluteString isEqualToString:OAUTH_DID_FINISH_SUCCESS_URL])
{
// OAuth success
return NO;
}
return YES;
}
使用WebView完成OAuth身份验证后,iOS应用程序会自动保存cookie(如果是网络应用程序保存cookie),因此iOS应用程序可以正常请求/响应Web应用程序。顺便提一下,Android可能无法自动保存cookie,因此如果您还必须支持Android应用程序,则基于令牌的身份验证会更好。
2:RestKit
RestKit支持OAuth。
我认为Device不是OAuth的iOS应用程序的最佳解决方案。 我认为使用omniAuth进行临时认证更好。