对OAuth流程中的回调感到困惑

时间:2016-03-02 23:48:09

标签: rest authentication mobile oauth oauth-2.0

假设您要使用基于OAuth的身份验证系统保护REST API。使用我正在使用的网站的常规流程是:

  • 用户点击登录google的链接
  • google向您指定的回调发出请求
  • 您的应用程序通过获取给定令牌并请求用户数据来响应回调,查找用户数据在数据库中对应的内容并为您提供Web应用程序的会话cookie和HTML重定向(例如,家里或你喜欢的任何东西)

回调端点基本上将谷歌令牌转换为您的Web应用程序会话cookie。

现在我想知道:对于一个对cookie或重定向一无所知的移动应用程序,它会如何工作?它可以做到:

  • 点击谷歌按钮,向Google身份验证网址发送HTTP请求
  • google使用您指定的回调网址进行回复
  • 该应用程序向您的应用程序的上述回调URL发出另一个请求
  • 您的应用程序返回cookie会话值和重定向URL到主页
  • 移动应用程序忘记了上一个重定向网址并获取了Cookie会话值,并将其用于API的任何其他请求

是吗?

1 个答案:

答案 0 :(得分:0)

一种方法是在本机移动UI上创建嵌入式Web组件,将URL设置为授权端点,用户登录并授权您的应用,授权服务器重定向到您的回调URL授权令牌。

您的应用程序订阅了Web组件的更改,当它检测到回调URL时,它将获取授权令牌,销毁Web组件,并调用REST API以获取访问令牌,然后访问任何受保护的资源。

相关帖子:

免责声明:我从来没有实现这一点,我也没有使用移动应用程序,我只是从阅读内容中得到了这些。