1

我正在使用 Spring-Security 的 Openid 进行身份验证。我想从谷歌服务器接收电子邮件 ID。所以在我的 spring-security.xml 我已经设置了

<attribute-exchange>
    <openid-attribute name="email" type="http://schema.openid.net/contact/email" required="true" />
    <openid-attribute name="name" type="http://schema.openid.net/namePerson/friendly" />
</attribute-exchange>

现在我想得到它。我了解文档告诉我们使用以下代码。

OpenIDAuthenticationToken token = (OpenIDAuthenticationToken)SecurityContextHolder.getContext().getAuthentication();
List<OpenIDAttribute> attributes = token.getAttributes();

任何人都可以给我写代码片段以使用此代码取出电子邮件属性吗???

4

1 回答 1

0

您可以遍历属性列表以查找电子邮件地址,就像OpenID 示例应用程序所做的那样

或者,您可能希望更密切地关注示例并使用自定义UserDetailsService创建专门的UserDetails实例,然后您可以在应用程序的其他地方访问该实例。

于 2013-07-05T17:55:48.310 回答