2

我正在开发一个启用了 Spring 安全性的 Spring MVC webapp。我正在尝试使用 OpenID 来使用 gmail 登录来访问此处给出的说明的 webapp 。

我只希望一组特定的用户可以访问 webapp。为此,我需要将所有用户及其 ID 添加到标记中。(稍后将为此实现数据库访问)

我的问题是:如何找到用于访问 webapp 的 gmail 帐户的 OpenID?

我了解每个账户的 OpenID 都是唯一的,可用于本地授权。如果我错了,请纠正我。

4

2 回答 2

0
  1. 设置 OpenID 依赖方,记录与 OpenID 提供者的通信。
  2. 使用您的 Google 帐户进行身份验证。
  3. 看看日志。
于 2013-09-19T12:31:32.453 回答
0

简短的回答是 Google OpenID URL 不是特定于帐户的,由https://www.google.com/accounts/o8/id确定。

详细信息:在后台,OpenID 消费者应获取XRDS OpenID 文档,该文档位于https://www.google.com/accounts/o8/id。通过解析此文档并执行服务发现过程,消费者将提取由https://www.google.com/accounts/o8/ud标识的 Google OpenID 提供者地址。本文档告诉消费者什么是 Google OpenID 参数。以下是位于https://www.google.com/accounts/o8/id的 google XRDS 文档:

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
<XRD>
<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/server</Type>
<Type>http://openid.net/srv/ax/1.0</Type>
<Type>http://specs.openid.net/extensions/ui/1.0/mode/popup</Type>
<Type>http://specs.openid.net/extensions/ui/1.0/icon</Type>
<Type>http://specs.openid.net/extensions/pape/1.0</Type>
<URI>https://www.google.com/accounts/o8/ud</URI>
</Service>
</XRD>
</xrds:XRDS>
于 2013-09-20T18:44:53.540 回答