【问题标题】:Three legged oauth flow on mobile app移动应用程序上的三足 oauth 流程
【发布时间】:2016-01-31 08:02:55
【问题描述】:

我有一个 3-legged 身份验证流程在我的网络应用程序上工作。如下:

  • 使用点击与 Google 联系
  • 他们在 Google 提供的 OAuth 对话框中接受
  • 该页面使用我发送给 Google 以获取 refresh_token 的代码参数重定向到我的后端的 /oauth/google 端点,以便我可以代表他们访问数据(如日历信息)
  • 我重定向回 Web 应用,在 URL 中传递我自己的 JWT 令牌。
  • 每当网络应用发出像 api.mybackend.com/me 这样的请求时,他们都会使用我提供的 JWT 令牌

我正在尝试在移动应用中完成类似的事情。什么是可接受的方式来做到这一点?是不是差不多的逻辑?

如果有帮助,我的后端是 Ruby on Rails,我正在用 Swift 编写移动应用程序。

谢谢!

【问题讨论】:

    标签: ruby-on-rails swift mobile oauth oauth-2.0


    【解决方案1】:

    如果你使用 NSURLSession 发出 HTTP 请求,那么see this for information about handling redirects.

    Google 还为 iOS 和 Android 提供了一些预构建的 Google 登录包,您可以将它们包含在您的应用中,类似于您的网络客户端中的那个。不过我从来没有使用过它们,所以我不知道它们会如何与你的应用程序集成。

    或者,您可以在后端设置一个身份验证端点来处理整个事情,应用只向您的服务器发出一个请求,而您的服务器处理与 Google 的通信。因此,例如,您可以让用户向 /oauth/mobile 提交请求。然后,服务器向 Google 提交身份验证请求并获取访问令牌和刷新令牌。然后您可以从服务器返回您自己的应用程序的令牌。 Google has some documentation on Google Sign-In for server-side apps that may be relevant.

    【讨论】:

      猜你喜欢
      • 2015-02-07
      • 2013-06-29
      • 1970-01-01
      • 2017-05-12
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      • 2013-11-27
      相关资源
      最近更新 更多