我为我所拥有的少量网站(其中一些是主网站的子域)设计了一种SSO方案。
我希望所有网站都使用主站点的注册/登录(并且我们可以同时保持完全脱钩)。
我想看看它是否安全以及是否可以简化它。
场景:
- 人员点击原始网站(GET)上的登录链接
- 人员的浏览器随同登录网址以及原始网站的ID(https://authwebsiite.com/login/site/client-website-id)
- 在身份验证网站上,我们使用“网站ID”在数据库中查找“加密共享密钥”和“返回URL”
- 在身份验证网站上进行身份验证
- 用户信息(用户名和其他一些项目)已使用原始来源网站的所有者先前提供给身份验证网站的密钥进行了加密,并且该信息已填写在表格中并提交(POST)到原始网站的返回URL(https)使用人的浏览器
- 在原始网站上为浏览器创建了一个会话
关注点:
- 有人可能会模拟回叫…(我们使用了共享机密,即加密密钥来解决该问题)
改进之处?