最近接手了一个传统的 php 单体项目,考虑进行服务拆分,然后使用网关做代理转发到独立服务, 看到网关有 jwt-auth 插件, 可以签发 token(支持 payload), 并且网关统一认证
目前有个疑惑: 如果不想在各个服务中认证, 但业务中操作需要身份信息比如 userId 如何获取? 是网关解析 token 然后改写请求参数或 header 吗? 上游服务如何获取网关认证的身份标识
如果网关只做初步认证, token 原封不动转发服务,还需要在各个服务中间件解析 token, 感觉很不方便
感谢大佬能指点一下
1
coderQiQin OP |
2
naixiaoxin 2023-11-17 23:22:04 +08:00 1
在 apisix 解析出 userId 之后,可以把 id 之类的标识追加在 header 上就行 比如说 X-User-Id 等等。后端业务直接获取 header 即可
|
3
NX2023 2023-11-18 00:28:42 +08:00
放在 header 的确是主流操作
|
4
pming1 2023-11-18 11:41:21 +08:00
你们微服务不做 jwt 内容解析的吗?
|
5
coderQiQin OP @naixiaoxin #2 已实现感谢指导
|
6
coderQiQin OP @pming1 #4 已实现
|