正如标题所说,我想构建一个在浏览器中使用Single Html页面运行的应用程序。但是如何实现Authentication.and我的解决方案是:
我的问题是:安全吗?还有其他更好的解决方案吗?
答案 0 :(得分:0)
如果可以通过javascript访问令牌,那就不够安全,原因与您应将Cookie设置为仅限http并限制为ssl相同。 如果黑客可以将javascript注入你的应用程序,它可以窃取令牌并从他们的机器中使用它。
出于这个原因,我建议您在使用网站时使用安全的,仅限http的cookie而不是令牌。
如果您要从原生移动应用访问您的API,则可以为每个网址添加令牌。
在http请求中使用自定义标头可能会导致某些代理可能无法通过所有标头的问题。 Cookie只不过是标准化的http标头,因此您可以重用它。
如果您允许第三方应用访问您的部分API,您还可以考虑使用OAuth。
没有理由不能为基于浏览器的客户端使用cookie,也不能为其他客户端使用ApiKey查询参数。