问题标签 [openid-provider]

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 投票
1 回答
700 浏览

asp.net-mvc - StackExchange 站点如何关联用户帐户和 OpenID 登录?

我喜欢 StackExhchange / StackOverflow 集成 OpenID 的方法。

据我了解,这个过程是这样的:

  • 如果用户通过 OpenID 提供商(即 Google)注册,StackOverflow(或类似网站)会为该用户创建一个帐户并将 OpenID 与该帐户相关联。
  • 现有用户可以将多个 OpenID 帐户与他/她的 StackExchange 帐户相关联。

我很想效仿这种行为,因为我在其他网站上几乎没有看到它对用户友好。

我知道 StackExchange 是基于 ASP.NET MVC 构建的,但不确定它是否使用标准的 ASP.NET 凭据模型,然后将 OpenID 提供程序添加到单独的数据库表中或什么。

所以,我的问题是:

  • StackExchange 如何创建这些帐户?他们是在标准 ASP.NET MVC 提供程序中创建用户,然后关联 ID,还是有单独的过程?
  • StackExchange 如何允许其他 OpenID 提供者帐户与现有帐户相关联?

提前感谢您提供的任何帮助!

0 投票
1 回答
1144 浏览

openid - 跨子域的单一 OpenID

我在 StackOverflow 上使用的 OpenID 与此处非常相似,以对我的用户进行身份验证。不过,我真正需要做的是让 OpenID 在我网站的所有子域中工作。

该站点的行为与 Kijiji 非常相似,因为每个区域都有自己的子域

  • 卡尔加里.example.com
  • toronto.example.com
  • vancouver.example.com
  • ETC

当用户登录“calgary”并随后登录“toronto”时,他们将被迫在提供者处“给予许可”,从而产生新的 OpenID 并导致新的登录。

我的应用程序“可以”在一个帐户下拥有多个 OpenID,但管理起来会很麻烦。

有没有办法让提供商链接到顶级域并随后在所有子域中工作?

我正在使用 DotNetOpenAuth。

我的想法是始终强制用户登录http://example.com,然后使用表单身份验证domain = ".example.com"来允许导航到所有子域。

0 投票
1 回答
615 浏览

authentication - 创建自己的“类 OpenID 系统”提供程序

我知道 Facebook 使用他们自己的类似 OpenID 的系统,称为“Facebook connect”,您可以使用它来验证您网站上的用户,以及其他功能。

就我而言,我有多个 Ruby on Rails 应用程序:

  • users.example.com
  • profile.example.com
  • 照片.example.com
  • ...

我想将“users.example.com”用作网络服务,允许用户以与“Facebook 连接”或 OpenID 相同的方式对我的所有其他应用程序进行身份验证。简而言之,对于我在“example.com”中的应用程序, “users.example.com”必须作为“类似 OpenID 的系统” 。

谁能给我一些有用的资源的提示和链接?

PS:由于我是这方面的新手,我不知道我说的是否有道理。所以有人可以帮助我理解(如果我错了)......

0 投票
1 回答
830 浏览

authentication - 使用 OpenID 实现 Facebook 登录

是否有使用 OpenID 对 Facebook 用户进行身份验证的 OpenID 端点?我有一个使用 OpenID 登录的 OpenID 使用者的实现,我不想再添加另一个登录方案,也不想用 rpxnow 替换它(这意味着将所有用户标识符转移给第三方——并且免费,广告不受支持的服务,它无法支付第三方服务提供商可能引入的任何订阅费用,这不是我想做的事情)。

那么,是否有适用于 Facebook 的 OpenID 提供商?


我正在寻找可能的第三方提供商或开放的自托管解决方案。如果不存在,我将实施 OAuth。

0 投票
1 回答
101 浏览

openid - Bodysnatcher“OpenId Provider”攻击问题

好的,基本上这里是 Bodysnatcher OpenId Provider 攻击场景。

  1. Bob 的 Google 声明标识符如下,ttps://www.google.com/accounts/o8/id?id=AAtawkQvytyBNNuHpRhn36f8MLvFiJvZg8teNE

  2. Jane 知道如何找到 Bob 的“当前”声明标识符。

  3. 她离开并在这里创建了自己的 OpenId 提供程序 www.jane.com/accounts/o8/id,这样当被询问时它将返回 Bob 声称的标识符。

  4. 她访问了一个编码错误的网站 www.bcs.com,该网站使用开放 ID,而 bob 有一个帐户。

  5. 她告诉 www.bcs.com 使用 OpenId Provider www.jane.com/accounts/o8/id。

  6. 现在这是我不知道的部分,并且想知道它是否可能/现实...... www.jane.com/id 一些如何让 www.bcs.com 相信声称的标识符“字符串”(即站点最终将看到的值)是 ttps://www.google.com/accounts/o8/id?id=AAtawkQvytyBNNuHpRhn36f8MLvFiJvZg8teNE。

即使主机是www.jane.com,是否有可能?

我们正在努力实施 OpenId,我们不想成为那个“编码错误的网站”。我们正在使用一些第三方 .NET 库,它为我们提供声明的标识符,因此我们不确定它在哪里或如何构建它。如果它可能是伪造的,那么我们正在考虑进行一些检查,以确保提供者 OpenId 的 url 与声明标识符中的内容匹配。

这也引发了我们是否应该采取额外步骤对我们声明的标识符进行散列/加扰的担忧。我们认为是这样,因为 Google 会根据请求 OpenId 的站点更改其标识符。我的意思是,如果不尝试保护其成员,为什么还要麻烦这样做呢?

0 投票
2 回答
2661 浏览

php - 您推荐哪个 PHP OpenID 服务器/提供程序库?

我只是想知道你们都会根据自己的经验推荐什么 PHP OpenID 服务器(这里有一些http://wiki.openid.net/w/page/12995226/Run-your-own-identity-server )?有什么我绝对应该避免的吗?

我正在使用 XAMPP 设置,并且正在寻找一些相当容易实现的东西,它不必非常强大或任何东西,只是一些相当简单的东西,它将支持多个用户注册(使用密码 - 我认为 Janrain php openID 服务器实现不据我所知支持密码)

非常感谢!

0 投票
1 回答
56 浏览

java - Openid 和数据类型

我正在尝试实现 Openid 服务器,问题是:交换特殊数据类型。

正如我在 openid 上所了解的,您只能将 ns 和 ax 数据模式交换为其他类型的数据,您应该为库实现一个新模式和一个新扩展以支持新模式。这是正确的吗 ?什么应该是最容易添加这些特殊数据的?

谢谢你的时间

0 投票
1 回答
503 浏览

java - 使用 appengine 的 openid

我目前在 appengine 中通过 openid 使用联合身份验证 - 使用 google、yahoo、myopenid 作为提供者

有一个关于我应该在我的数据库中存储什么以识别返回用户的问题。我目前正在存储 user.getNickname() - (对于谷歌和雅虎,这将返回用户的电子邮件地址)。

我用它来存储和检索用户特定的数据。

这是正确的方法吗?getNickName() 是唯一的吗?我看到 User 也有一个 user.getUserId() 方法和一个 user.getEmailId() 方法。

我应该改用 user.getUserId() 吗?

0 投票
1 回答
1236 浏览

php - PHP OpenID 身份提供程序

我正在寻找一个OpenID身份提供者作为我的网站的服务。我将把它与应用程序提供的现有用户服务集成,所以我想使用一个库而不是一个完整的 OpenID 服务器应用程序(即OpenID 身份服务器部分列出的工具都做得太多了)。

这会在OpenID 库页面上列出以下库(那些能够充当身份提供者的库;其他库被忽略,因为它们无论如何都无法执行我需要的操作)。不幸的是,每个都有一些问题,我很感激关于我应该去哪里的建议。

  • PHP OpenID Library (Janrain) - 这似乎很流行,但似乎没有维护。由于缺乏对突出问题的修复,GitHub上有很多很多分支;它似乎有效(有一些修复),但很难知道要遵循哪个分支,或者这样做是否安全。
  • NetMesh InfoGrid LID - 下载部分的 403 Permission Denied 并不令人鼓舞。
  • Zend Framework OpenID 组件- Zend 框架的一部分,我们不使用它。

所以,我的问题是

  • 身份提供者还有其他选择吗?
  • 有人对 NetMesh 解决方案有任何经验吗?不能下载是怎么回事?
  • Zend Framework 组件可以在没有 Zend Framework 的情况下使用吗?
  • Janrain PHP OpenID 库有没有好的、可靠的分支?
0 投票
2 回答
192 浏览

openid - 我的开放 ID 会随着时间而改变吗?

我正在使用 open id 对我的应用程序进行身份验证。我正在使用客户的开放 id uri 来识别它们。但我发现 open id uris 会随着时间而变化。它是常见的还是与提供者的开放 ID 配置有关?