gpt4 book ai didi

ruby-on-rails - OAuth 流程,iPhone -> Rails -> Facebook

转载 作者:行者123 更新时间:2023-11-30 05:17:03 26 4
gpt4 key购买 nike

我正在使用 Web 客户端和 iPhone 客户端构建应用。

在 Web 客户端上,我使用 Omniauth 通过 Facebook 对用户进行身份验证,然后用户可以将应用程序上的操作发布到 Facebook。效果很好。

我在从 iPhone 应用程序实现身份验证流程时遇到了一些问题。

我在 Rails 应用程序中将 Doorkeeper 设置为 OAuth 提供程序。虽然我不确定应该如何实现身份验证流程。

我想出了这个:用户可以在 iPhone 中登录 Facebook 并获得 token 。然后将 token 与 Facebook uid 一起发送到 Rails 应用程序,存储它,并使用 Omniauth 对用户进行身份验证。用户通过身份验证后,使用 Doorkeeper 生成 token 并将其发送回 iPhone 应用程序。

如果这是用户第一次针对 Rails 应用程序进行身份验证,则会创建一个新用户。

然后用户可以对 JSON-api 执行操作,并且 Rails 应用程序将负责 Facebook 集成,因为 Facebook token 存储在用户记录中。

该应用程序还将跨越多个域,因此我需要注册多个 Doorkeeper 应用程序以提供不同的回调 uri。

这看起来是一个可行的解决方案吗?安全吗?是否有替代流程/方法?

谢谢。

最佳答案

我采用的解决方案总结如下:

  1. 客户通过 Facebook 启动宣誓流程(使用登录按钮等)
  2. 客户端获取授权 token 并发回服务器
  3. 服务器通过带有 token 的 FB API 调用查找用户
  4. 服务器根据 FB id 查找/创建用户
  5. 如果具有 FB id 关联查找的用户成功,则用户已登录

我这里有一张图表和更多细节:http://www.eggie5.com/57-ios-rails-oauth-flow

关于ruby-on-rails - OAuth 流程,iPhone -> Rails -> Facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9587012/

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