有两个系统 A 和 B,两个系统都是独立的域名,用户系统不互通,我要实现的是如果在系统 A 登录了的用户,通过 A 的链接跳转到 B 访问 B 的资源时,可以跳过登录这一步
1.首先,在 B 的 User 表里加一个字段,假设为 A_username,用来记录用户在 A 系统中的用户名
2.每次用户从 A 往 B 跳转的时候,带上 A 系统的用户名信息
3.B 收到请求之后,通过传过来的 A 的用户名去查自己的 User 表,如果不存在这个用户,那么自动创建一个 B 系统用户,如果存在,就直接自动登录
那么我这个方案会存在什么问题么?
有什么更好的方案可以推荐么?手写代码或者用相关的 Gem,如果用 Gem 的话有啥轻量一点的 Gem 可以实现我的需求吗?毕竟我的需求还是比较简单
我知道这是一个单点登录的需求,我也考虑用 Omniauth 这个 Gem,但是我发现用 Omniauth 的话我需要再 A 系统里实现一个授权机制,才能建立 A B 系统的信任关系,感觉太麻烦了(我不知道我理解的对不对,没用过 Omniauth)