使用 OpenId 或 OAuth 集成登录到我的站点

integrate login to my sites with OpenId or OAuth

我有几个网站是用 zend framework 1 和 zend framework 2 开发的,我想用户在主站点注册,在其他站点我想有一个登录按钮,如果用户点击登录: 1- 如果用户之前登录过主站点,用户登录时无需输入任何信息。 2- 如果用户未登录主站点,则会打开一个弹出窗口并询问他的 username/password 主站点,然后登录该站点。 我不明白 OpenId 或 OAuth 是否可行。 在 OpenId 中,用户必须生成一个 OpenId Id,例如:

http://www.example.com/USERNAME

但我希望用户不要输入任何附加信息。

例如,在 Whosebug 中,您可以使用 Google 或 Yahoo 帐户。 如果您想使用雅虎帐户,它会询问您的 OpenId,但我不知道 Google 使用什么系统,它不要求任何 ID,如果用户未登录他的 [=18],则只需输入他的电子邮件和密码=] 帐户, 我更喜欢 Google 用户不输入任何 Url 登录的系统。 真诚地

单击 Whosebug 登录屏幕上的 Google 按钮秘密填充 URL

https://www.google.com/accounts/o8/id

作为 OpenID URL。这是一个 XRDS 文件,它告诉 OpenID 库在哪里可以找到授权服务器。

OpenID 规范在 section 7.3.1 中对此进行了定义:

If the end user entered an OP Identifier, there is no Claimed Identifier. For the purposes of making OpenID Authentication requests, the value "http://specs.openid.net/auth/2.0/identifier_select" MUST be used as both the Claimed Identifier and the OP-Local Identifier when an OP Identifier is entered.