![]() | 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 PRO 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 ![]() springboot + zuul 网关做身份验证 + redis 做 token 持续化 |
![]() | 26 chinesedragon OP @rework16 源码能分享吗? |