问题标签 [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.
openid - OpenID、OpenID2、Open Connect 的未来是什么?是否值得实施提供者?
我看到 OpenID 登录随处可见,并决定我应该考虑在我的服务器上实现我自己的提供程序,这样我就可以控制我的信息和登录。
令人惊讶的是,这是相当复杂和困难的。
尽管许多站点允许 OpenID 登录(例如这个),但我发现了以下问题:
- 许多简单的“自己动手”的单一身份 OpenID 提供者解决方案现在都是蒸汽软件。
- OpenID 存在相当严重的持续安全问题:
http://en.wikipedia.org/wiki/OpenID#Security
- 许多 OpenID 提供者似乎已经消失(MyOpenID.com、getopenid.com 等)
- 该协议似乎随着先前版本的下降而不断变化(可能是由于安全问题?)
例如,2013 年 8 月关于使用 Google Plus/Profiles 作为代表的 SO 解决方案现在收到来自 Google 的错误,称今年 4 月 Google 将删除 OpenID 2.0 支持并替换为 OpenID Connect:
将 OpenID 委托给 Google(不是 Google Apps)
有没有人提供一个简单的 OpenID Connect单一身份提供者?查看 OpenID 的 OpenID 提供商软件列表,根本没有提到任何 OpenID Connect 解决方案,更不用说页面已经 4 年没有更新了!
http://wiki.openid.net/w/page/12995226/Run%20your%20own%20identity%20server
浏览所有这些信息,我真的很高兴几年前我搁置了在我的服务器上实施 OpenID 2.0 的计划,因为它看起来已经过时了,我想不出一个简单的方法来证明我的身份。令人惊讶的是,我不能只安装一个软件包并编辑一个配置文件就可以了。大多数更简单的实现都涉及安装和使用 PHP,它有自己的安全问题需要了解。
所以 - 任何是 OpenID 专家及其发展方向的人,谁能给我一些关于如何设置我的身份提供者的建议,或者是否值得困难?我很想控制我的信息和我的电子邮件地址的分发以及拥有一个永久的身份,但如果标准会不断变化,那么它并不是真正的永久。
c# - 自定义 oAuth 服务器实现及其优势
我们有多个 Web 项目(站点),每个项目都有自己的授权逻辑。今天,我的 CIO 要求我实施 oAuth 并使用它来验证所有站点的用户。
早些时候,我曾为 Google、Facebook、Twitter 和 Microsoft 使用过 oAuth。我在这里有多个问题
- 实施 oAuth 提供者有什么优势
- 通用 oAuth 原则中的最佳方法是什么
- 我可以将此 oAuth 服务器用于单点登录吗
当我有来自 Google 或其他的用户 oAuth 时,我的想法是消除用户在我的网站上注册的努力,而不是使用他/她为 Google 拥有的相同凭据。如果我创建自定义 oAuth,这是我获得的唯一优势吗?
实施oAuth:
- 使用 ApplicationName、ClientID、ClientSecrete 创建一个应用程序实体
- 使用 UserId、UserName、Password、ApplicationID 创建用户实体
- 与每个站点共享唯一的 ClientID 和 Secrete,当用户尝试从该站点登录时,传递 clientID、clientSecrete、UserName、Password 并验证并返回 true 或 false
- 按照类似的流程让用户注册到系统。
在高层次上,我的上述流程是否满足 oAuth 概念?是否有 oAuth 的深入实现细节可供我参考以更好地理解?
servicestack - ServiceStack OpenID 身份服务器
我们正在开发一套基于ServiceStack的站点,并希望在它们之间共享用户凭据。
通过阅读,我认为我们需要的是让其中一个站点充当 OpenID 身份服务器,同时它和其他站点都登录到其 OpenID 领域(如果术语不正确,请原谅!)。
我知道带有DotNetOpenAuth的 ServiceStack可以针对自定义 OpenID 领域进行身份验证,而且似乎 DotNetOpenAuth 也可以充当 OpenID 提供者,这可能是我们需要的,但我还没有找到任何示例来说明如何将这两者一起。
我在正确的轨道上吗?如果是这样,有没有人有这方面的例子?
非常感谢。
更新:
进一步阅读表明IdentityServer3可能是解决方案,但我怀疑托管在 ServiceStack 之外?
openid-connect - 我们的 OpenID Connect 请求成功,尽管它缺少必需的参数
我正在使用 Fiddler 向我们的OpenID Connect Identity Server发出以下请求。
OpenID Connect 身份服务器使用此响应进行回复。
id_token
包含此信息。
我们ClaimType.NameIdentifier
暂时用作占位符文本。因此,请求/响应成功,并且身份服务器为依赖方提供了一个id_token
和access_token
。
我们的问题是,当我们的请求不满足此处列出的 OpenID Connect 身份验证请求要求时,如何才能成功。也就是说,我们正在执行规范似乎未涵盖的用户名密码流程。
我怀疑这只是意味着我们对 OpenID Connect 身份提供程序的实现还没有完成。是对的吗?这里发生了什么?
rest - 如何保护从第三方登录的 REST 服务
我有一个 REST 服务,当用户单击 Facebook 或 Google 图标时,我的移动应用程序使用该服务进行身份验证。
该服务从提供者那里接受用户的 id 并检查它是否存在于数据库中,然后发出 access_token 以用于其他方法。
问题是我只是认为有人可以很容易地拦截调用并发现哪个服务进行身份验证以及用户 ID 是什么,然后调用它来获取令牌。
我怎样才能避免这种情况?
authentication - Play 框架上的 Open ID 实现
我想拥有自己的 Open ID 服务器进行身份验证,以便不同的应用程序使用相同的用户数据库。我正在使用播放框架。有没有这方面的图书馆?
oauth-2.0 - OpenIdConnect/OAuth 中的密码更改流程
我有一个使用 AngularJS SPA 和 OpenIdConnect 身份提供程序的基本流程。我正在使用的服务器是 IdentityServer3 但这应该在任何地方都是一样的,因为它是一个规范。我想知道这个流程是如何工作的。
Idp 有一个配置为使用的数据库。在 IdentityServer3 的情况下,它在ServiceFactory中指定
隐式流
SPA 联系指定重定向URI的授权端点。
IdP 在检查细节后授权并重定向到指定的 URI。现在我们在浏览器中有一个访问令牌。
- 现在用户更改了她的密码。此密码在数据库中更新。此时,即使在 IdentityServer3 连接的数据库中更新了密码,令牌仍然是旧的。
- 在此步骤中,可能有一种方法可以使密码无效或发出新令牌,因为密码已更改。
因此,直到我们使用规范中提到的某些工具使该令牌无效。Idp 无法识别密码已更改。
这个解释正确吗?我是否需要做任何其他事情来向 Idp 表明密码已更改?OpenIdConnect/OAuth 中没有用于更改密码的端点。正确的 ?
我问得很详细,因为我想在与我们的技术团队讨论之前了解这个关键流程。似乎是根本。
java - 带有 OpenId 提供程序的 Java Spring Security
我有一个 spring MVC 应用程序。另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序。如何在服务器端实现开放 id 提供程序。请帮助。
spring - 如何将openid与springboot集成
我是 Spring Boot 新手,我想将 openId 提供程序集成到我们的应用程序中。我已经搜索了很多关于它的内容,但没有找到任何合适的文章可以开始。
问题陈述:
- 一旦用户点击我们的网站 url(例如 www.abc.com),用户应该被重定向到 openID 提供商的(登录页面)服务器,用户在其中输入用户名和密码或注册他/她自己。
- 成功认证后,用户就可以访问我们的应用程序,其中应用程序需要检索一些关于用户的信息(基本上是 openID 提供者和应用程序之间的数据交换)。
- 如何交换密钥以生成共享密钥?
我有 openId 提供者和服务发现端点的端点。
有人会帮我解决这个问题吗?