jwt 如何实现一个服务认证了另一个服务也可以认证

目前我有一个商城系统,订单部分用golang+gin 框架写的,其余用laravel写的
我现在想让在laravel 这边登录了的用户通过token 在golang 那边也可以做验证

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 10
gongmeng

file
这是我写的一个认证的,解析token验证就行了,保证两个项目的JWT密钥一致

1年前 评论
lijizheng (楼主) 1年前
gongmeng (作者) 1年前
lijizheng (楼主) 1年前
gongmeng (作者) 1年前
lovewei 1年前

golang-jwtSigningMethodHS256 正常解析就行。也可以用其他的库

1年前 评论
lijizheng (楼主) 1年前

在两个服务前面用 API Gateway 解析 JWT,然后如果 Token 有效则在反向代理请求头中附加从 Token 中解析出来的用户信息!

后端服务从请求头中获取用户信息即可!

1年前 评论
davidyanxw

提供几个思路:

  1. 复杂方案--sso单点登录,有个做sso认证的server, 来整体校验登录状态, 你需要单独搭建一套sso认证系统;
  2. api方案--golang已经实现了登录验证, laravel直接调用golang api就可以了,注意golang api接口要放在内网;
  3. laravel实现方案--laravel把golang校验的逻辑重写一遍就可以了.

另外, 第2个方案, 换成微服务或者rpc, 也是一样的, 确保任务服务有一处就行, 不过这样的话复杂度也很高了.

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!