请教使用Laravel做统一的用户中心实现SSO怎么处理合适?
最近考虑做一个统一的用户中心。
原本是项基于:laravel 自带的用户认证做一个自定义的访问凭证生成验证来实现SSO的,
搜索了一下其它同学的实现方案,有的使用JWT、有的使用的Passport来做,有做过的同学可以分享下你们处理的方案吗?那种好,开发效率更快捏?
单一平台JWT或者sanctum,多平台Passport
核心其实就是通过token识别用户,区别在于Passport能够多应用鉴权,jwt需要自己添加,不过一般要求应用key相同,如果key要求不同,可以使用jwt自己实现
@Imuyu 有两个不同的产品,打算公用一个用户中心,另外还有是想APP、PC等客户端也全部统一使用一个用户登录注册入口
我分享一下我的项目经验,我是多个项目有不同的用户账号信息,并且都是用JWT登录的,但是也想做到统一登录后多项目可以操作,不用重复登录。于是我是做了一个公共库把多个项目的账号信息集中起来,然后做了一个公共登录项目做统一登录公共库验证,公共验证成功后就后端去请求各个系统原来有的登录接口获取各个系统的token,并且把传过来的公共库登录生成的token存储到redis作映射关系(目的是让多个项目形成登录状态),这样下来就能用公共登录的token来调多个项目自己的接口了
passport 应该能够满足
passport本身就可以,但是不能跨域同步登陆。
关注一下,看看大佬的分享
如果都在一个域名下,共用一个redis就行
这样 要看是否顶级域名了
跨域名 和不夸域名 天壤之别