gpt4 book ai didi

iphone - 如何使用远程 Web 应用程序对 iOS/iPhone 用户进行身份验证,并在以后对同一 Web 应用程序的请求中重新使用身份验证票证?

转载 作者:IT王子 更新时间:2023-10-29 08:12:15 25 4
gpt4 key购买 nike

我正在构建一个 iOS 应用程序,我需要能够向 Rails 3 应用程序发出经过身份验证的请求以获取各种数据。 Rails 3 应用程序使用 omniauth 和类似 https://myapp.com/auth/facebook 的 URL例如,通过 facebook 对用户进行身份验证...一旦通过身份验证,将身份验证存储在名为“auth”的安全 cookie 中。”

我想知道的是如何从 iOS/iPhone 应用程序对我的用户进行身份验证,保留身份验证 token 并将其与将来的请求一起发送到 Rails 应用程序?


使用 ASIHTTPRequest 我正在考虑做这样的事情:

  1. 打开一个 UIWebview,加载来自 my Web 应用程序的 URL,该 URL 特定于他们想要验证的提供商(例如 myapp.com/auth/facebook 用于 facebook 或 myapp.com/auth/yahoo for yahoo, etc.....)。

  2. 成功后,以某种方式解析身份验证 cookie 并将其存储在 iOS 应用程序中, 不显示人们在通过网站进行身份验证时通常看到的网页...而是关闭 UIWebView 并导航回到 iOS 应用程序中的另一个 UIVewController。

  3. 以某种方式将持久身份验证 token 包含在未来对 Rails 应用程序的 Web 请求中。

  4. 我还想允许用户允许 iOS 应用程序在本地存储此信息,这样他们就不必重新登录到远程应用程序(如果他们也选择的话)。


这种方法合适吗?有没有更好的办法?当然,如何实际实现上述内容?

谢谢 - wg

最佳答案

使用 OAuth 非常简单(好吧,简单不是这个词......),但我制作了一个 iOS 应用程序和一个使用 OAUth 作为身份模式的 Java 服务器,并且在整个循环之后,我最终获得了一个 token 标识此用户并且(因为只能使用签名请求访问)可以安全地存储在手机中(我只使用 standardUserDefaults 来存储它)。只有您的应用程序(使用 secret )可以签署请求。

不知道对你有没有用...

啊!通过 web 识别后,浏览器重定向一个特殊的 url(为我的应用程序注册),该 url 打开我的应用程序,在其参数中包含 token ,因此在 handleOpenURL 中识别阶段后很容易检索 token 。

关于iphone - 如何使用远程 Web 应用程序对 iOS/iPhone 用户进行身份验证,并在以后对同一 Web 应用程序的请求中重新使用身份验证票证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7632185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com