我们提供许多在线服务。我们需要开发一个系统,当用户从一个服务(domain1.com
)转移到另一个服务(domain2.com
)时,为其提供快速/简单的体验。
有没有一种安全可靠的方式,在用户被传输到新服务之后自动登录用户?
如果下面的解决方案完全不安全/错误,请告诉我。
我们考虑采用类似于许多在线服务提供的密码恢复系统的系统-发送包含唯一哈希值的链接给用户,并在链接过期后允许他们更改密码。
domain1.com
网站将生成一个唯一哈希值并将其存储在与哈希值相关联的用户和过期日期时间字段链接到的数据库中。
用户将被传输到domain2.com/auto/?hash=d41d8cd98f00b204e9800998ecf8427e
domain2.com
接下来会向domain1.com
请求哈希值以获取有关用户的信息。domain1.com
然后将从数据库中删除哈希值。domain2.com
将登录用户并设置Cookie等。
基于OpenID或OAuth的系统能否实现相同的结果?
domain2.com
请求到sso.com
中使用 JWT 令牌吗?sso.com
没有用户的 cookie,因此呈现登录页面,我们最终会有 3 次重定向(一次到sso.com
,一次到sso.com
登录,一次到domain2.com
登录页面)吗?sso.com
发行的,以授予对 domain2.com 的登录访问权限吗?