V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rioshikelong121
V2EX  ›  问与答

请教: 关于多个认证中心下的 site 互相登录以及 api 互相调用的问题

  •  
  •   rioshikelong121 · 2020 年 5 月 13 日 · 595 次点击
    这是一个创建于 2155 天前的主题,其中的信息可能已经有所发展或是发生改变。
    场景:

    Account X 负责 SPA X1,SPA X2... 的 authentication 和 authorization

    Account Y 负责 SPA Y1,App Y2... 的 authentication 和 authorization


    两者的域名,技术栈细节不一。没有统一的用户身份。但是都是基于.Net 技术栈,都是基于 OAuth 2.0 来做的认证 /登录流程。

    同一个 Account 下的不同应用的用户也不一样,但是 token(jwt)的加密方式一致。不同 Account 归属于相同的公司,理论上可以获取其他 Account token 的加密方式。

    现在的问题来了,有个需求: Account X 的用户登录 SPA X1 以后,在网页上点击链接跳转到 SPA Y1, 不需要登录 Account Y,即可直接自动登录 SPA Y1 。


    之前想过单点登录相关,但是似乎 SSO 是针对于单个认证中心下的多个网站的,和我的场景不太一样。


    目前想到的解决方案:


    SPA X1 跳转到 Y1 的时候,请求的地址不是 SPA Y,而是 Account Y 的一个 api 地址(public api),并且附带 X1 上用户的 token 和其他一些信息。

    Account Y 会解析这个 token 的合法性和过期时间,并从里面提取出用户信息,如果 token 合法,则以这个用户信息创建符合 Account Y 格式的 token 和 session 。 然后重定向到 SPA Y 。 这样就实现了自动登录的过程。


    -----------------------------


    想问下各位,类似的场景,有什么比较好的解决方案吗?或者有哪些可以搜索的关键字?
    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   944 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:05 · PVG 06:05 · LAX 15:05 · JFK 18:05
    ♥ Do have faith in what you're doing.