问题标签 [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.
openid - 为什么在 OpenID 2 中使用 HTML 表单重定向?
为什么你会做一个自动的 HTML 帖子而不是一个简单的重定向?
这样开发人员可以在知道 OpenID 时自动生成将目录发布到远程服务器的登录表单吗?
例如。
- 用户未登录并访问您的登录页面。
- 您从 cookie 中检测到用户的 openID。
- 生成的表单直接发布到远程 OpenID 服务器。
- 远程服务器将用户重定向回网站。
- 网站登录用户。
如果是这种情况,我可以看到好处。但是,这假设您在用户注销时将用户的 openID 保存在 cookie 中。
我几乎找不到关于如何最好地实施这个规范的信息。
请参阅官方规范中的 HTML FORM 重定向:
http://openid.net/specs/openid-authentication-2_0.html#indirect_comm
我通过查看PHP OpenID 库(版本 2.1.1)发现了这一点。
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 方法。好像不太对,谁能给我一些信息。
php - 在 PHP 中向 OpenID 提供商请求电子邮件地址
向 OpenID 提供商请求电子邮件地址的最简单方法是什么?
有没有一个很好的 PHP 库可以简化这个问题?
我知道提供商以不同的方式实现事物。我听说您需要同时进行简单注册和属性交换。我特别想确保它与最大的提供商合作,例如 MyOpenID 和 Google。
相关但不充分的问题:
- 向 OpenID 提供商请求电子邮件地址(专注于 .NET)
- OpenID 属性交换 - 我应该使用它吗?
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_token
等bearer
)。
如何让 Google 以用户的实际 openid 响应?
(我可以在 OpenID2.0 到 Google+ 迁移上找到的唯一来自 Google 的文档,似乎更适合他们的 javascript 登录按钮,例如https://developers.google.com/+/api/auth-migration#oid2)
编辑:也许 id 以某种方式编码在 中id_token
,如果是这样,我该如何解码?
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,但我们试图更好地确定更改的确切形式。
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)时,我有以下问题。
使用无状态模式时,是否有一种机制来防御攻击?
- 变相的认证响应有
claimed_id=http://evil.example.com/discovery
- http://evil.example.com/discovery由攻击者管理。端点返回邪恶发现端点
- http://evil.example.com/discovery使用 op_endpoint=http://evil.example.com/verify 返回发现结果。
- http://evil.example.com/verify由攻击者管理,并且端点总是返回 is_valid=true。