我了解当前的最佳做法是对公共客户使用PKCE:
注意:以前,建议基于浏览器的应用程序使用“隐式”流程,该流程将立即返回访问令牌,并且没有令牌交换步骤。自最初编写规范以来,行业最佳实践已发生变化,建议您使用授权代码流而不使用客户密码。这为创建安全流提供了更多机会,例如使用PKCE扩展。
但是我对于Android / iOS WebView是否是公共客户端感到困惑。 需要明确的是:这是一个混合应用程序。因此,我可以使用某些本机功能。其中包括密钥库。但是主要应用程序仅由嵌入在WebView中的javascript呈现的html页面组成。
例如,WebView是否容易受到XSS攻击?这一切让我有些困惑。