移动应用程序上的三脚oauth流量

时间:2015-10-30 19:40:23

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

我在我的网络应用程序上有一个3脚的身份验证流程。它如下:

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

我试图在移动应用中完成类似的工作。这样做的可接受方式是什么?这是几乎相同的逻辑吗?

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

谢谢!

1 个答案:

答案 0 :(得分:3)

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

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

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