将OAuth身份验证从移动应用转移到Webview

时间:2019-10-30 19:06:35

标签: oauth oauth-2.0

我一直在努力在我项目的API中实现OAuth。作为该项目的一部分,我们有一个移动应用程序,该应用程序使用密码授予(通过此API实际上将给定的凭据发送到未实现OAuth的上游身份验证服务器上,因此是必需的),从而通过此API对用户进行身份验证。

此移动应用程序还具有一些功能,可以打开某些预定网站的Web视图。这样的想法是,这些网站将能够使用authorization_code授权代表用户进行授权。

这是我的问题所在。在授权网站时,我们显然要求用户通过我们的API进行身份验证。但是,用户是通过应用(而非Web视图)中的密码授予进行身份验证的。

在应用中完成身份验证后,我们如何将身份验证从应用转移到API?我的想法是在API域上设置一个包含令牌的cookie是实现此目的的最佳方法吗?

很抱歉,这个问题不太清楚。我正在努力最好地表达和解释我的问题。

1 个答案:

答案 0 :(得分:0)

好问题-过去我已经通过一种策略模式实现了这一点:

  • 当Webview托管在浏览器中(在我的情况下是SPA)中,以标准SPA方式处理令牌-例如,在iframe上进行令牌更新/全屏登录重定向

  • 当Webview托管在移动应用程序中时,请通过用户代理检测到此情况,然后回调移动应用程序执行刷新令牌或启动新的移动登录之类的操作

这很棘手,但是有道理,因为Web /移动设备具有不同的令牌续签/存储/登录解决方案

这是一种实际的实际用例,您可以在网上找到几乎为零的指导。很高兴回答任何后续问题。