2

我有一个工作原型网站,它具有基于 Spring Security 3.2.0.M2 的 OpenID 登录,该登录来自Spring Security 的 OpenID 示例,该示例使用openid-selector项目来选择 OpenID 提供程序。登录后,我在数据库中使用随机 UUID 主键创建了一个“内部”帐户,该主键以 OpenID 用户名作为列,以便以后可以找到相同的“内部”帐户。

我想以与 StackExchange 相同的方式将其他 OpenID 帐户添加到同一个“内部”帐户。我可以导航到我的/loginJSP URL,然后<sec:authentication property="principal.firstname" />我可以看到我的登录信息。在不从我的站点注销的情况下,如果我单击链接以转到另一个 OpenID 提供商/login并登录,那么当浏览器返回我的站点时,将新的 OpenID 登录与相同的“内部”帐户链接的推荐方法是什么?我假设标识第一次登录的 cookie 在第二次登录时被重置。

是否建议我在会话中放置一个 nonce cookie,所以如果在新登录时看到它,那么网站应该询问是否应该将它添加到原始的“内部”帐户中?这个 nonce cookie 应该只从 中添加/login吗?这是正确的还是有更安全的方法?我在想我应该远离使用电子邮件地址来链接两个 OpenID 帐户。

4

0 回答 0