有没有安全的方法在使用Basic Auth REST API的SPA中创建用户会话?

时间:2016-03-14 16:51:27

标签: angularjs rest session authentication basic-authentication

我需要构建一个基于AngularJS的单页面应用程序,它将从REST API中检索数据。使用Basic Auth + HTTPS保护这些REST服务。

有没有安全的方法在SPA中提供用户会话?我的意思是,没有额外的组件,如令牌提供程序(例如OAuthV2)。 我正在考虑一个登录页面,用于在一段时间内验证用户对APP的访问权限,以及注销操作。

更多问题:

1)Basic Auth需要每个请求的用户凭据。但是,SPA不应存储用户凭据以便在每个请求上发送它们,对吗? (本地/会话存储在HTTPS网页中是否可见?)

2)浏览器在验证第一个请求后是否自动发送Basic Auth标头?那么,有没有办法退出?

非常感谢! 塞吉

1 个答案:

答案 0 :(得分:0)

我很欣赏专家意见,但这似乎有效:

  • 用户提交其用户名&登录页面的密码。 AngularJS SPA在cookie($ cookiestore)
  • 中设置凭据
  • SPA使用基本身份验证调用后端的登录服务。
  • 如果登录成功,则cookie会存储凭据,并在每次请求时自动发送。
  • 注销应删除用于删除用户会话的cookie。

与本地存储不同,由于通信是通过HTTPS保护的,因此无法读取包含用户凭据的cookie。