在(Android / iOS)WebView混合应用程序的情况下,我应该使用哪个OAuth流程以及将令牌存储在哪里?

时间:2019-06-19 12:01:55

标签: javascript webview oauth oauth-2.0

我了解当前的最佳做法是对公共客户使用PKCE:

  

注意:以前,建议基于浏览器的应用程序使用“隐式”流程,该流程将立即返回访问令牌,并且没有令牌交换步骤。自最初编写规范以来,行业最佳实践已发生变化,建议您使用授权代码流而不使用客户密码。这为创建安全流提供了更多机会,例如使用PKCE扩展。

但是我对于Android / iOS WebView是否是公共客户端感到困惑。 需要明确的是:这是一个混合应用程序。因此,我可以使用某些本机功能。其中包括密钥库。但是主要应用程序仅由嵌入在WebView中的javascript呈现的html页面组成。

例如,WebView是否容易受到XSS攻击?这一切让我有些困惑。

1 个答案:

答案 0 :(得分:0)

在不了解更多详细信息的情况下,您应该使用AppAuth SDK

它遵循RFC 8252-OAuth 2.0和PKCE中列出的最佳做法。