Ruby on rails 移动应用程序上的三条腿oauth流

Ruby on rails 移动应用程序上的三条腿oauth流,ruby-on-rails,swift,mobile,oauth,oauth-2.0,Ruby On Rails,Swift,Mobile,Oauth,Oauth 2.0,我在我的一个web应用程序上有一个三条腿的身份验证流。内容如下: 使用点击连接谷歌 他们接受谷歌提供的OAuth对话框 页面被重定向到我后端的/oauth/google端点,并带有一个代码参数,我将该参数发送给google以获取刷新令牌,这样我就可以代表他们访问数据(如日历信息) 我重定向回web应用程序,在URL中传递我自己的JWT令牌 每当web应用程序发出类似于api.mybackend.com/me的请求时,它们都会使用我提供的JWT令牌 我正在尝试在移动应用程序中实现类似的功能。可

我在我的一个web应用程序上有一个三条腿的身份验证流。内容如下:

  • 使用点击连接谷歌
  • 他们接受谷歌提供的OAuth对话框
  • 页面被重定向到我后端的/oauth/google端点,并带有一个代码参数,我将该参数发送给google以获取刷新令牌,这样我就可以代表他们访问数据(如日历信息)
  • 我重定向回web应用程序,在URL中传递我自己的JWT令牌
  • 每当web应用程序发出类似于api.mybackend.com/me的请求时,它们都会使用我提供的JWT令牌
我正在尝试在移动应用程序中实现类似的功能。可以接受的方法是什么?这几乎是相同的逻辑吗

如果有帮助的话,我的后端是RubyonRails,我正在用Swift编写移动应用程序


谢谢

如果您使用NSURLSession发出HTTP请求,则

谷歌也有一些针对iOS和Android的预先构建的谷歌登录包,你可以将它们包含在你的应用程序中,类似于你的web客户端。但我从未使用过它们,所以我不知道它们到底会如何与您的应用程序集成

或者,您可以在后端设置一个身份验证端点来处理整个过程,应用程序只向您的服务器发出一个请求,您的服务器处理与Google的通信。例如,您可以让用户向/oauth/mobile提交请求。然后,服务器向Google提交身份验证请求,并获取访问令牌和刷新令牌。然后,您可以从服务器返回自己的应用程序令牌