问题标签 [openid2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2172 浏览

openid - 为什么在 OpenID 2 中使用 HTML 表单重定向?

为什么你会做一个自动的 HTML 帖子而不是一个简单的重定向?

这样开发人员可以在知道 OpenID 时自动生成将目录发布到远程服务器的登录表单吗?

例如。

  1. 用户未登录并访问您的登录页面。
  2. 您从 cookie 中检测到用户的 openID。
  3. 生成的表单直接发布到远程 OpenID 服务器。
  4. 远程服务器将用户重定向回网站。
  5. 网站登录用户。

如果是这种情况,我可以看到好处。但是,这假设您在用户注销时将用户的 openID 保存在 cookie 中。

我几乎找不到关于如何最好地实施这个规范的信息。

请参阅官方规范中的 HTML FORM 重定向:

http://openid.net/specs/openid-authentication-2_0.html#indirect_comm

我通过查看PHP OpenID 库(版本 2.1.1)发现了这一点。

0 投票
3 回答
1285 浏览

php - 打开 ID XRDS 发现

我正在使用 Open Id,只是在我的网站上制作一个类来交互/验证 Open Id(在 PHP 中)。我知道还有一些其他的库(比如 RPX),但我想使用我自己的(它有助于更​​好地理解协议以及它是否适合我)。

我的问题与 Open Id 发现序列有关。基本上我已经达到了我正在考虑使用 XRDS 文档从声称的身份 (openid.claimed_id) 获取本地身份 (openid.identity) 的地步。

我的问题是,我是否必须发出 cURL 请求才能获取 XRDS 位置(X-XRDS-location),然后再发出另一个 cURL 请求才能获得实际的 XRDS 文档?

似乎对于一个 DUMB 请求,我只发出一个 cURL 请求并获得 Open Id 服务器,但必须发出两个才能使用 XRDS Smart 方法。好像不太对,谁能给我一些信息。

0 投票
2 回答
721 浏览

php - 在 PHP 中向 OpenID 提供商请求电子邮件地址

向 OpenID 提供商请求电子邮件地址的最简单方法是什么?

有没有一个很好的 PHP 库可以简化这个问题?

我知道提供商以不同的方式实现事物。我听说您需要同时进行简单注册和属性交换。我特别想确保它与最大的提供商合作,例如 MyOpenID 和 Google。

相关但不充分的问题:

0 投票
0 回答
83 浏览

django - 使用 python-social-auth 将 openID2.0 迁移到 Google+(将 openid id 映射到 gplus id)

我们之前使用的是 openID 2.0,并且有一个充满用户及其关联的 openid 的数据库。鉴于该协议已被弃用,我们决定改用 Google+ 登录。

python-social-auth在 Django 项目中使这相对简单,但现在我不确定如何将我们现有用户的 openid 映射到较新的 Google 子 ID。

我添加了

到settings.py,我可以看到python-social-auth已经注意到并传递?openid.realm=http://www.example.com了GET字符串以及范围等,因为它应该。然而,谷歌似乎没有用 OpenID id 响应。我只得到id_token(以及access_tokenbearer)。

如何让 Google 以用户的实际 openid 响应?

(我可以在 OpenID2.0 到 Google+ 迁移上找到的唯一来自 Google 的文档,似乎更适合他们的 javascript 登录按钮,例如https://developers.google.com/+/api/auth-migration#oid2

编辑:也许 id 以某种方式编码在 中id_token,如果是这样,我该如何解码?

0 投票
1 回答
140 浏览

openid - 2017 年 1 月 1 日,Google OpenId Connect 到 OpenID 2.0 映射究竟会发生什么?

根据Google OpenID 2.0 迁移时间表,“OpenID 2.0 标识符到 OAuth 2.0 标识符的映射将继续有效,直到 2017 年 1 月 1 日。”

从文档中无法 100% 清楚地了解这种过渡将采取何种形式。请求 scope: "openid" 或 openid.realm: "something" 会开始返回错误吗?还是响应中根本不存在旧的 openid 值?Google OpenId Connect 文档仍然在其示例 OpenID Connect 身份验证 URI 中使用请求值。

有没有人更好地了解这到底是如何消失的?我们的方法是删除 openid 范围和 openid.realm,但我们试图更好地确定更改的确切形式。

0 投票
0 回答
24 浏览

openid - 伪装的身份验证响应(OpenID Authentication 2.0)可以检测到吗?

问题是关于 OpenID Authentication 2.0(https://openid.net/specs/openid-authentication-2_0.html)(不是 OpenID Connect 或其他协议)

当我阅读 openid4java SampleConsumer 的源代码(https://github.com/jbufu/openid4java/blob/master/src/org/openid4java/consumer/SampleConsumer.java)时,我有以下问题。

使用无状态模式时,是否有一种机制来防御攻击?

  1. 变相的认证响应有claimed_id=http://evil.example.com/discovery
  2. http://evil.example.com/discovery由攻击者管理。端点返回邪恶发现端点
  3. http://evil.example.com/discovery使用 op_endpoint=http://evil.example.com/verify 返回发现结果。
  4. http://evil.example.com/verify由攻击者管理,并且端点总是返回 is_valid=true。