1

在单页 JS(秘银)应用程序中进行用户管理的最佳方法是什么?我希望用户登录以加载首选项并担任角色,以便他们获得某些权限。我有一个用 Python(Falcon Web 框架)编写的 REST API 后端。稍加阅读后,似乎可以归结为将凭据发送到后端并取回令牌。但问题是应该怎么做。似乎令牌是比 cookie 更好的方法,但这对秘密/令牌的交换有影响。例如,“xhr.withCredentials”方法似乎是基于 cookie 的。JWT(json web tokens)似乎是一个现代的、有趣的选择,但很难找到一个清晰的解释它如何与 SPA 一起使用。一旦 Mithril 应用程序有一个令牌,我应该在哪里存储它以及我应该如何将其用于后续请求?

4

1 回答 1

1

这与秘银无关,实际上唯一与秘银相关的领域是服务器通信。这是通过m.request方法(此处的文档)完成的,但您需要为所有需要身份验证的服务器通信创建一个对象。

该对象应该了解身份验证系统并检测令牌是否过期,然后请求一个新令牌,如果出现故障则采取适当的措施等。这有点工作,但是对于大多数身份验证系统来说,过程是不同的,所以没有除了使用已经存在的东西之外,还有很多事情要做。

作为一个小而精的 MVC 框架,Mithril 没有内置任何与安全相关的功能,但该m.request方法非常强大,您应该在 auth 通信对象中使用它。

客户端存储将在 cookie 或 HTML5 存储中。这是一个更深入的 StackExchange 答案:https ://security.stackexchange.com/a/80767但关键是这也与秘银无关。

感谢您链接到令牌与 cookie 文章,非常好!

于 2015-07-14T10:05:03.837 回答