给定 A.com 上经过身份验证的用户,我们希望将用户重定向到 B.com,以便她立即获得身份验证。我正在考虑的方案非常基本:
A.com 和 B.com 都共享密钥S。
在 A.com 上,将用户重定向到https://B.com/auth?userid= userid &time= current_time &mac= MAC,其中 MAC 为 HMAC-SHA256(userid + time, S)。
B.com/auth 要求给定的 MAC 有效并且时间在时钟的 5 秒内。
鉴于客户端将使用 SSL,我认为重放攻击不太可能,但我提供了一些最低限度的保护。我不需要像 OAuth 登录令牌这样的东西;客户将始终通过此过程访问 B.com。
还有什么我想念的吗?有这样的 SSO 的正式名称吗?