我正在构建一个iOS应用程序,我需要能够对Rails 3应用程序进行身份验证请求,以获取各种数据。 Rails 3应用程序正在使用omniauth和像
https://myapp.com/auth/facebook这样的URL,例如通过Facebook验证用户身份验证,一旦经过身份验证,就将认证存储在名为“auth”的安全cookie中。“
我想知道的是如何从iOS / iPhone应用程序验证我的用户,持续身份验证令牌并将其发送以及将来的请求发送到Rails应用程序?
使用ASIHTTPRequest我在想这样做:
>打开一个UIWebview,加载一个特定于他们想要验证的提供商的Web应用程序的URL(例如myapp.com/auth/facebook for facebook或myapp.com/auth/yahoo for yahoo等) 。
>成功后,以某种方式解析并将认证cookie存储在iOS应用程序中,而不显示通过网站进行身份验证时通常会看到的网页人员,而是关闭UIWebView并导航回iOS应用程序中的另一个UIVewController。
>以某种方式将持久化的身份验证令牌包含到Rails应用程序的未来Web请求中。
>我也想允许用户允许iOS应用程序在本地存储这些信息,所以如果他们也选择也不必重新登录到远程应用程序。
这种做法是否合适?有没有更好的办法?当然,如何实际实现上述?
谢谢 – wg