在观看了 AngularJS“Massive AngularJS 应用程序”演示 (https://docs.google.com/file/d/0B4F6Csor-S1cNThqekp4NUZCSmc/edit) 后,
我试图实现以下场景
1)用户请求index.html(服务端生成)
2) Flask 检查是否存在身份验证 cookie
3)如果cookie丢失,重定向到login.html(也是服务器端生成的)
4) 在登录页面,POST 登录信息。
5) Flask 验证用户 + 密码 -> 设置 cookie,重定向到/
6) Flask 检查 cookie,检索用户资料 + 生成 index.html
7) 客户端应用程序启动
8) 客户端应该调用/token(使用 cookie)
9) Flask 验证请求,生成新的访问 + 刷新 token & 使 init cookie 过期
10) 客户端接收 token 并可以使用 token 使用基本身份验证 header 进行正常的 REST 调用
我遇到的问题是一旦必须生成 index.html 就实现维护身份验证的方式。
我提议将 token 包含在索引页面的配置文件中(作为 javascript 变量),并在 angularjs 配置时将其复制到 window.session 存储中,但我不太确定它的安全性如何?
这是一个可接受的流安全明智和/或有更好的方法吗?
编辑:更新的问题 + 添加了我将用作序列图的流程:
EDIT2:我注意到我无法重新加载页面,因为 cookie 将过期,所以我开始怀疑访问 token 的使用..
最佳答案
我对问题中提出的复杂性感到困惑。
当我考虑 webAPI/RESTful 项目的用户安全时(无论涉及 angularjs/flask),我想到以下数据交换:
您的问题似乎在询问超出我的基本情况的多层复杂性,我不明白是什么需要这种额外的复杂性(特别是您的“问题”文本和您的第 9 步)。如果由于 angular 或 Flask 的某些方面而需要这种复杂性(即:如果您在访问 cookie 时遇到问题,或者您试图减轻一些其他安全问题),请解释。
关于AngularJS - 服务器端 index.html 和身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23886360/