繁体   English   中英

为什么Ember-Simple-Auth支持刷新令牌? (JS + OAuth 2.0)

[英]Why does Ember-Simple-Auth support refresh tokens? (JS + OAuth 2.0)

到目前为止,根据我在OAuth 2.0规范中所阅读的内容,不建议将任何机密信息存储在可通过Javascript访问的浏览器中。

这里的讨论似乎也同意这一点: 在HTML5 Web App中使用OAuth2

我目前正在构建一个基于Ember的应用程序作为我的REST风格API后端的前端,并且我正在使用Ember-Simple-Auth作为用于处理用户登录的库,该库实现了资源所有者密码凭证工作流程,并且还明确支持刷新令牌。

我了解到OAuth 2.0中的“资源所有者密码凭据”授予类型允许使用刷新令牌 ,但本段中的文字针对的是客户端的非常笼统的定义。

由于Ember.js是用于编写在浏览器中运行的单页Web应用程序的框架,所以我现在想知道...

在Ember应用程序中使用刷新令牌是否安全? 上面提到的讨论似乎不同意。 这导致我:

为什么Ember-Simple-Auth支持刷新令牌?

感谢您抽出宝贵的时间考虑。 最好! 马库斯

使用刷新令牌比不使用一个不安全的唯一要点是刷新令牌没有过期时。 因此,如果有人对您的计算机进行了物理访问(或通过HTTPS断开),则刷新令牌仍处于活动状态时,访问令牌可能已经过期,并且可以用来获取新的访问令牌(这意味着安全漏洞将永远存在) )。

对此的支持已由大众需求内置到Ember.SimpleAuth中。 但是,有两件事要说:除了确保用户没有人能够物理访问其计算机外(这是大多数站点所必需的安全策略,因为没有站点通常会终止会话或仅在很长的时间之后),这是除了客户端和服务器只能通过(正确设置)HTTPS通信至关重要。 第二件事是,当服务器响应中有一个令牌时,Ember.SimpleAuth仅使用刷新令牌。 因此,如果您对此感到担心(我认为这是正确的),请不要首先在服务器端启用刷新令牌。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM