问题标签 [google-openid]

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 投票
5 回答
5148 浏览

python - 哪个 openid / oauth 库将 django 项目连接到 Google Apps 帐户?

我正在为一家使用 Google Apps 登录的公司开发 Intranet django 项目(不使用 GAE)。所以我希望我的用户能够使用他们的谷歌帐户登录来登录我的 django 项目。OpenID 似乎很合适,虽然也许 Oauth 也可以工作?

我看到很多类似名称的库将 django 的身份验证系统连接到外部登录系统:

以下是我想对集成进行的操作:让用户使用他们的 google 帐户登录,而不是使用本机 django 系统登录。为管理系统之类的东西保留 django 的权限模型。所以我认为这意味着我们在登录之前没有见过的新帐户第一次在 django 中自动创建一个新的用户记录。

任何有使用这些项目经验的人都可以告诉我哪个最有效吗?或者只是建议您尝试过哪些最活跃/最实用?谢谢!

0 投票
3 回答
3206 浏览

openid - OpenID:标识符 URL 是否唯一?标识符之间有什么区别

OpenID specs中,它说:

  • 标识符:

标识符只是一个 URL。OpenID 身份验证协议的整个流程是关于证明最终用户是、拥有一个 URL。

  • 声称的标识符:

最终用户说他们拥有的标识符,尽管尚未得到消费者的验证。

  • 已验证标识符:

最终用户已向消费者证明他们拥有的标识符。

  • 身份提供者:

也称为“IdP”或“服务器”。这是消费者联系的 OpenID 身份验证服务器,以获取最终用户拥有声明标识符的加密证明。最终用户如何向其身份提供者进行身份验证超出了 OpenID Authenticaiton 的范围。

  • 标识符 URL 是否唯一?它到底是什么?

  • 如果它不是唯一的,是否有任何唯一的东西可以让消费者在同一个 OpenID 端点 URL 上的不同用户之间有所不同?

  • IdP 和标识符 URL 有什么区别?

在其他地方,我读过术语“OpenID 端点 URL”。

  • OpenID 端点 URL 是否与 IdP 相同?那么 IdP 也是一个 URL 吗?

我们以 Google 的 OpenID 为例。当某个站点要求我使用 OpenID 登录时,我使用 OpenID URL https://www.google.com/accounts/o8/id。那是标识符URL吗?如果是这样,它显然不是唯一的。通常,当我在该站点上查看有关我的 OpenID 登录的帐户设置时,它不会显示输入的 URL,但它以某种方式扩展了它,例如https://www.google.com/accounts/o8/id?id=AltOawk.... 该 URL 现在看起来有点独特。

  • 现在的目的是https://www.google.com/accounts/o8/id什么?那是 OpenID 端点 URL 吗?或者是 IdP URL(如果不同的话)?

  • 目的是https://www.google.com/accounts/o8/id?id=AltOawk...什么?对于我的Google 帐户来说,这真的是独一无二的吗?所以那个 URL 就是我的身份?

  • 他们为什么不使用https://www.google.com/accounts/o8/id?u={google-username}这个神秘的东西来代替...?id=AltOawk...

  • 如果是 Google,标识符 URL 是什么?

  • 什么是 OpenID 端点 URL?(什么是 IdP URL?)

我问的原因是因为我正在尝试实现自己的 OpenID 端点。

  • OpenID 端点 URL 是否与标识符 URL 相同?

在我的 OpenID 端点实现中,我确实遇到了这个问题,即不同用户之间不能有区别。消费者网站只是将该 OpenID 端点上的所有用户视为相同。当然,它始终是相同的 OpenID URL,但 Google 的 OpenID 也是如此。

  • 如果最终用户使用这个“通用”URL,我如何在我的 OpenID 端点实现中将它重定向/转发到“具体”/唯一(标识符?)URL?或者我怎样才能让它区分同一个 OpenID URL 上的不同最终用户?

在我当前的实现中,当我启用一些调试跟踪时,我得到的第一个请求是模式 checkid_setup。在规范中,它说我在这里获得了声明的标识符。由于我在消费者站点上输入的内容(我的调试跟踪也说相同),这就是“通用”URL(OpenID 端点 URL)。即,这不是唯一的 URL。

  • 我现在必须进行重定向吗?规格没有说明任何内容。我在哪里告诉“具体”网址?(在我的情况下,那是 URL http://{endpoint-url}?u={endpoint-username}。)

还有术语“OpenID 服务器”(URL)和“OpenID 委托”(URL)。

  • 这些术语与上述其他术语有何关系?和 OpenID 端点 URL 一样吗?

  • 什么是“OpenID 身份”?与 OpenID 标识符 URL 相同吗?


另请参阅相关问题:OpenID 如何在同一 OpenID 端点上的不同登录之间有所不同?

(元问题:我是否应该将其拆分为许多独立的 SO 问题?恐怕否则我可能无法得到所有问题的答案。)

0 投票
1 回答
428 浏览

python - 我只需要“身份网址”吗?- OpenID

我只是想知道我是否只需要身份 url,以便理论上将 OpenID 帐户附加到用户的帐户。

我的身份网址如下所示:https://www.google.com/accounts/o8/id?id=YGnyuGHMUmhUI98nuhUMhu98nuN

这在 OpenID 1.0 和 2.0 之间有什么不同吗?

以防万一有人问:我正在使用 Django + django-openid-consumer

谢谢大家=)

0 投票
1 回答
977 浏览

ruby-on-rails - Rails 中的 Google Apps 和 Open ID 身份验证 - 安全性

我正在移动一个应用程序以仅将 Google 联合登录 (OpenID) 用于应用程序(我们使用谷歌应用程序来处理所有事情,并且觉得在那里结合用户管理会更容易)。虽然我可以成功登录并创建用户,但我现在的想法是安全......

当用户登录时,我只有一个“登录”按钮 - 没有别的。站点域是硬编码的(其中 SITE_DOMAIN 出现在下面),并且用户被重定向到典型的谷歌登录页面。

这是代码:

成功登录后,我只需将用户保存到会话中...

...并在应用程序控制器中使用简单的 current_user 方法...

我主要关心的是安全性。OpenIDAuthentication 正在使用内存存储,总体而言,这似乎有点太容易实现(在阅读了大量文档之后)。基本测试表明这很好用,但我很紧张。:)

有什么想法吗?

我正在使用 open_id_authentication 插件和基本的 ruby​​ openid gem(与 ruby​​-openid-apps-discovery gem 用于谷歌应用程序)

0 投票
1 回答
1195 浏览

openid - 使用未绑定可发现 URL 的直接 OpenID 提供者列表?

任何人都有使用未绑定可发现 URL的直接 OpenID 提供程序列表?

到目前为止,我只找到了这些:myopenid、yahoo、Hyv​​es、myspace、myid.net、google、yahoo japan、AOL、Verisign。

0 投票
2 回答
1094 浏览

ruby-on-rails - 使用 Ruby 在 OpenID 中检索 XRDS 文档

我只是在玩 OpenID 协议。我正在尝试发送 Discovery 请求并从 google 检索 XRDS 文档。当我尝试使用 curl 从终端执行此操作时,我得到以下输出

当我尝试从 ruby​​ 代码中执行相同操作时,它给了我一个 302 错误,并且它移动到的 url 指向相同的请求 url。

代码

如何通过代码获取 XRDS 以及为什么它显示不同的输出。有人可以解释一下吗?谢谢

0 投票
1 回答
104 浏览

openid - OpenID 中 dh_modulus 和 dh_gen 的值

在 OpenID 过程的关联阶段,使用 Diffie-Hellman 对 OpenID.session_type 值进行加密。为了使用 diffie-hellman,我们必须生成 dh_modulus(p) 和 dh_gen(g) 值。我的问题是,我是否必须在每次向 OpenID 提供者发送 OpenID 请求时生成 p 和 g 值,或者仅在我发送新关联时才生成 p 和 g 值。

0 投票
2 回答
4928 浏览

openid - 谷歌和雅虎 OpenID 端点

https://www.google.com/accounts/o8/idhttps://me.yahoo.com是Google 和 Yahoo 的 OpenID 端点还是我必须向其发送发现请求的 URL,作为响应将具有OpenID 端点?

0 投票
1 回答
2051 浏览

openid - 如何从 Google 访问 Avatar?

我已经用 Google 实现了 OpenID-Login。我可以访问以下属性类型'contact/email'、'namePerson/first'、'namePerson/last'和'pref/lang'。但我也想拥有 Google 帐户图像/头像。关于http://www.axschema.org/types的规范,它应该是 'media/image/default' 或 'media/image/aspect11' 但它们都不起作用:(

是不是可以通过 OpenID 访问图像/头像?
AX 类型是别的吗?
还有其他可能获得该图像吗?

0 投票
1 回答
1790 浏览

php - php 中的 OpenID Autologin Janrain 示例

我希望我的网站自动检测用户是否登录到谷歌。如果是,它会检查数据库以查看它们是否已经注册。如果他们已注册,它会将他们登录到我的网站。否则,它将它们重定向到登录页面。

我认为这可能是实验性的 x-has-session 但我不知道如何实现它。我正在使用 JanRain OpenID PHP 库。

响应appriciated!