问题描述
我在一家公司工作,我们为客户(成百上千的用户)提供访问2个站点的权限。一个由第三方SaaS拥有,另一个由我们拥有。 客户花大量时间在两个网站上进行注册,当客户不再需要访问权限时,我们也会花很多时间来删除帐户。
我希望用户注册站点A。用户可以单击站点内的链接来访问站点B,但无需用户输入凭据。 我希望使用站点A身份来访问站点B及其资源。我不需要将站点B的资源显示在站点A的站点上,而只是允许用户访问已通过站点A身份验证的站点B。
用户在站点B上可能具有不同的角色。
我最好的选择是什么? Oauth2听起来是个不错的选择。但这会满足我的上述要求吗?
谁将管理授权服务器?我认为站点B?
谢谢。
解决方法
两个主要选项:
带有Cookie的旧技术
也许最便宜的选择是使用托管域并拥有2个这样的应用程序:
- mail.google.com
- drive.google.com
- 使用发布到父域google.com的Cookie
- Cookie标识用户,以提供用户ID
- 在每个应用中,根据用户ID查找权利
OAUTH2和OPENID CONNECT
这是现代应用程序的选项,由于对Web,移动设备和API友好,它们通常一起使用。
这是一项艰巨的工作,包括用户迁移,通常涉及为用户提供新密码。因此,它必须是贵公司准备投资的东西。
授权服务器(AS)成为共享的中央资源,通常使用云提供商来确保高可用性。
矿山的相关资源