OAuth 2方法并为SPA和本机应用程序刷新令牌安全性

时间:2018-12-07 18:02:13

标签: mobile oauth single-page-application auth0 okta

将OAuth 2.0与SPA应用程序和本机应用程序一起使用的合适的安全方法是什么?

我在堆栈溢出和供应商文档中看到关于OAuth刷新令牌是否应存储在SPA的浏览器和本机移动应用程序中的意见不一致。

例如,在这里我有3个链接,其中一个IETF包括在App中接收刷新令牌。而包括auth0在内的其他几个建议不要在客户端接收刷新令牌。

https://www.pingidentity.com/en/company/blog/posts/2018/oauth-recommendations-for-single-page-apps.html

https://tools.ietf.org/html/bcp212

https://community.auth0.com/t/obtaining-refresh-token-along-with-access-token-in-a-spa/6476

https://developer.okta.com/docs/api/resources/oidc

1 个答案:

答案 0 :(得分:0)

他们是不同的答案。

对于SPA,使用不发送客户机密的授权码流(请参阅Arron Parecki的相关主题的博客文章)。作为后备,隐式流的安全性较差,但如果您了解风险,也可以使用它。

对于移动原生平台,最佳实践是使用PKCE(pixie)进行授权代码流程 https://developer.okta.com/blog/2018/12/13/oauth-2-for-native-and-mobile-apps