1
throns 2017-11-09 16:16:08 +08:00 via iPhone
JWT 呀
|
2
pkaq 2017-11-09 16:17:33 +08:00
JWT
|
3
biabia123456 2017-11-09 16:24:02 +08:00
我自己的项目是 jwt + redis 做身份认证
|
4
chinesedragon OP |
5
chairuosen 2017-11-09 16:31:39 +08:00
一般后端接口前面有一层网关,后端接口不验证身份,网关验证后放行。
|
6
server 2017-11-09 16:33:38 +08:00
|
7
whypool 2017-11-09 16:34:58 +08:00
后端:留一个固定的接口返回 token ;
前端:请求头里面加 token,其他不变 |
8
chinesedragon OP @whypool 后端不是还要验证 token ?
|
9
chinesedragon OP @server 哥哥,那应该用什么啊?
|
10
suikator 2017-11-09 16:46:45 +08:00 via Android
jwt 简单易用 文档遍地
|
11
kanezeng 2017-11-09 16:47:49 +08:00
@chinesedragon 用 Token,只是不要用 JWT 吧。
JWT 的好处是不需要后端再存储 Token,收到 Token 之后验证 token 有效,就能获得用户信息,比如 id 之类的。 问题在于后端没法强行让 token 失效,比如用户修改了密码,用户要求在所有设备都退出登录之类的。。。 我个人比较喜欢开一个 redis 存储 token,用户登录成功后,后端生成一个 token (指定位数的随机字符串)返回给前端,同时存储在 redis 里(包含对应的用户 id 之类的)。前端后续所有请求都带上这个 token,后端收到 token 后到 redis 里去取用户信息。 |
12
hcymk2 2017-11-09 16:50:33 +08:00
如果项目是 all in one 的设计的话,狭义前后端分离其所没有什么意义,反而会让简单项目变的复杂。
|
13
chinesedragon OP @kanezeng 前端存储 token 是不是放在 cookie 里啊?
|
14
chinesedragon OP @hcymk2 为什么呢,原因呢?
|
15
chinesedragon OP @kanezeng 还有 token 一般都放在 header 的哪个里呢?
|
16
server 2017-11-09 17:42:34 +08:00
@chinesedragon 归根到底还是 session 的路子,自己造这个轮子。单点登录,多终端登录
|
17
haonan3344 2017-11-09 17:50:48 +08:00 via Android
@server 已经上了 jwt 的船了,也不下去了。。。
|
18
biabia123456 2017-11-09 18:19:51 +08:00
@kanezeng 我是通过再把 token 存在 redis 实现 token 失效验证的 感觉没什么大问题
|
19
kanezeng 2017-11-09 19:40:45 +08:00
@chinesedragon 前端通常可以存在 localStorage。提交的时候就看和后端的约定了,常见的比如放在 header 里的 Authorization 字段,也有比如 POST 请求的 BODY 里提交的。
|
20
kanezeng 2017-11-09 19:56:29 +08:00
@biabia123456 这个倒是个不错的方法,不过这样的话 JWT 原有的优势就没有了吧
|
21
qfdk 2017-11-09 20:42:40 +08:00 via iPhone
jhipster
|
23
tradzero 2017-11-09 23:18:21 +08:00 via Android
@kanezeng 你都用 redis 来存储 token 了 把需要失效的 jwt 存起来 不是一样的道理吗…… 这样你的存储量少了不知道多少……
|
24
rework16 2017-11-09 23:24:05 +08:00
给你个例子 http://www.imvocab.com
前端用的 vue,后端用的 flask,这是个存练手的项目,后面有时间再折腾了 |
25
LeeSeoung 2017-11-10 09:22:55 +08:00 1
springboot + zuul 网关做身份验证 + redis 做 token 持续化
|
26
chinesedragon OP @rework16 源码能分享吗?
|