我正在用 PHP 开发一个 OpenID 消费者,并且正在使用出色的 LightOpenID 库 ( http://gitorious.org/lightopenid )。基于示例客户端脚本中的代码,我已成功创建了一个使用者。但是,我遇到了一个障碍:Google 要求将openid.identity
andopenid.claimed_id
设置为"http://specs.openid.net/auth/2.0/identifier_select"
(请参阅此处)。如果我这样做,它会起作用,但其他提供商(即 AOL)不会。
以下是我的问题:
- Google 是不是一个极端案例——它是唯一
identifier_select
需要的 OpenID 提供商,与 OpenID 规范相反吗? - LightOpenID 库有缺点吗?
- 我对 OpenID 如何工作的理解不正确吗?
- 如果谷歌不是唯一需要
identifier_select
的供应商,那么我将硬编码其中的数量有限,还是有办法通过 OpenID 规范来确定这一点?
我是 OpenID 内部的新手,所以如果这是一个愚蠢的问题,我不会感到惊讶。在互联网上搜索后,我无法找到有关此主题的任何信息。