我们现在的前端程序是一个 Vue 的项目,分成两部分,一部分是 Member,另一部分是 Admin
我们现在的 Admin 的认证是这样弄的:
一个 SPA 的 VUE 项目,跑在 /admin 这个 url 上面,但无论是 /admin/feature1 还是 /admin/feature2,不管是哪一种 URL 都由后台的 JAVA 程序提前拦截一下 URL,如果没有权限或者没有登录,就跳转到 /login
登录的时候还是用的 session
现在做到 Member 部分了,需求里要求 Member 部分要能够在浏览器里面运行,也要能够打包到 Cordova 里面,按架构的设计,是通过一个 token 保护着 API,这里我就有点迷糊了,因为按架构的设计,就没有 Session 了
Boss 让我做一个包装,所有 ajax 都要带上 Token,如果 Token 没有,就在前端跳转到登录页,登录成功的话服务器返给我一个 Token
那我把这个 Token 存到哪里呢?存到 Cookie 里面又好像不对
这种单独的前端项目怎么进行身份认证啊
1
34C 2018-09-18 16:47:20 +08:00 1
存 sessionStorage 啊,或者 localStorage 然后加有效期字段
|
3
34C 2018-09-18 16:53:07 +08:00 1
@jiafaner 传统 web 项目也可以把 cookies 复制走啊,所以会话凭据(无论叫 session 还是叫 token )都是有有效期的
|
6
xuanbg 2018-09-22 22:59:10 +08:00
身份认证其实是后端的事情,只要它给用户在登录后发一个 token 就行了。你前端拿到 token 当然是存起来,本地存储或者 cookie 都可以。你作为前端不需要担心别人复制走冒用你的身份,后端是可以做到 token 只能给你用,别人拿走用不了的,当然这也需要你配合给点数据才可以。
|
7
YaphetYin 2018-10-02 04:47:04 +08:00 via iPhone
Cookie 加 Httponly,业界标准做法
存 localstorage 或者 sessionstorage 都可能被加载的 js 取走泄露 |