请问怎么通过token 连接redis?
能发布流程,启动流程失败,{"message":"已经连接 redis,请使用/workflow/process/startByToken 路径访问","timestamp":"2020-09-12 16:27:18.7498189 +0800 CST m=+2144.770280001","status":400,"error":"Bad Request","ok":false},这是什么情况 看到博客下评论说 连接redis要用token方式,具体见example.md 但我在example.md里没有找到相关说明,请问下该怎么使用呢?
若是通过token的方式的话,
-
用户那边,登陆成功之后,需要将token与用户信息,类似(k,v)存入redis中 其中,k则为token,v则是一个json(包括用户相关的信息,如userId/role/dept等)
-
go-workflow收到请求之后,会从http header中拿到token,然后从redis中获取用户相关信息
@gordan-code 举个栗子: redis key:11025 redis val : { "ID": "11025", "username": "11025-张三", "company": "A公司", "department": "A公司-A部门", "roles": [], "departments": [] }
header key:Authorization header val : 11025
这样就能取到redis的值了。只要连接了redis,接口就必须带token,即header里含有Authorization值。Authorization的值就是redis key名。这样就对应起来了。
不过,官方的连接redis的地方有bug,我虽然配置了redis,但redis没有跑起来,也认为已经连接成功。 具体修改的地方在ping.Result()后再加一个判断,看ping的值是否为空。