And*_*wan 5 openid authentication spring-security
我正在使用Spring Security 2.0.5将OpenID登录添加到一个小型Web应用程序中.我希望能够根据他们登录的OpenID标识符识别我的应用程序中的用户.这在使用Verisign作为提供者时工作正常; 每个标识符都是一个特定于用户的URI,如http://jbloggs.pip.verisignlabs.com/,可以在我的用户数据库中轻松查找"Joe Bloggs".
但是,当用户输入标准Google OpenID标识符(www.google.com/accounts/o8/id)时,Google会在成功进行身份验证后发送标识符(例如https://www.google.com/accounts/o8/id ?id = AItOawnKrvwaGk9YU0q9STQGj9G7XIRlNmsjuiI)因机器而异,因同一用户而异.这使得通过在我的用户数据库中查找其标识符来识别该用户是不可能的(或至少是不切实际的).
如何让Google始终为同一个Google用户发送相同的标识符?
FWIW,该应用程序在JBoss 3.2.7中运行,带有嵌入式Tomcat 5.0.28.
And*_*ott 10
Google使用OpenID的一项称为定向身份的功能,这意味着Google为每个用户登录的RP(OpenID接受网站)构成了一个新的,唯一且不可更新的标识符.这不是一个选择 - 这是谷歌工作的唯一方式.Google在RP之间识别的关键是openid.realm参数,因此只要它相同,您就会为用户获得相同的标识符.但是,如果你改变了这个领域,那么所有用户的身份都会丢失,因为谷歌会为你现有的用户发送一个新的标识符网站.
你能为这个做什么?两种选择:
| 归档时间: |
|
| 查看次数: |
528 次 |
| 最近记录: |