OpenID Connect 最终会取代 SAML 成为 SSO 的主导协议吗?

     2023-03-27     270

关键词:

【中文标题】OpenID Connect 最终会取代 SAML 成为 SSO 的主导协议吗?【英文标题】:OpenID Connect will eventually replace SAML as the dominant protocol for SSO? 【发布时间】:2014-02-10 11:30:55 【问题描述】:

我在一些文章中看到,据说 OpenID Connect 将取代 SAML 成为 SSO 的主导协议。我不确定 openID connect 将如何处理不同服务提供商的会话管理功能,以及如何使用它来实现单点注销?目前,是否有支持 OpenID 连接作为 SSO IDP(作为 SAML2 SSO IDP 的替代品)的 IDM 服务器(开源或商业)?

【问题讨论】:

OpenAM 似乎从第 11 版开始支持它。wikis.forgerock.org/confluence/display/openam/OpenAM+Roadmap 是的。谢谢。似乎他们正在支持会话管理和注销。会看看的 我会把它作为答案,以便更容易找到 【参考方案1】:

PingFederate [免责声明:正如它以我的名义所说,我为 PingIdentity 工作] 于 2013 年 4 月在产品中构建了 OIDC - 版本 7.0。此外,我们从 2010 年 12 月开始通过集成工具包支持 OpenID。

也就是说,OIDC 下的“SLO”是一场全新的比赛。我建议阅读OID Spec 的Session Management 部分。它的要点是,SLO 的完成方式与大多数 SAML 系统实现它的方式完全不同,而且它非常以用户为中心,而不是特定于 OP 或 RP。

最后一件事...虽然 OIDC 最终可能会取代 SAML,但我想指出的是,我们终于在使用 SAML 时产生了严重的滚雪球效应。 OIDC 尚未最终确定,迁移到它需要时间。焦点会转移吗?很有可能。但这不会在今年或明年发生,之后很可能不会再发生。如果您正在寻找支持 OIDC 的前沿产品,这很公平……但如果您真的想要实施,那么机会很少而且相距甚远。目前还没有很多 RP - 主要是因为规范不是“最终的”。

我还应该提到我们的一些竞争对手,例如 Gluu、Okta、IBM 和 Layer7(通过在互操作测试中竞争)显示了对 OIDC 的支持,但我无法谈论他们对当前产品的支持程度.

【讨论】:

OpenID Connect 确实是一个发布/最终规范,launched back in February。还是我误会了你? 您可能还注意到我的回答是在一月份,在 OIDC 最终确定之前...我们会看到基于此的上升吗?当然。像 Google、Yahoo 和其他公司这样的“大手笔”会帮助这项事业吗?为了确定。小商店的开发人员仍然需要时间来了解它。【参考方案2】:

OpenAM 似乎从版本 11 开始支持它。wikis.forgerock.org/confluence/display/openam/OpenAM+Roadmap

【讨论】:

我使用过 OpenAM 和 OpenID Connect。是的,他们“支持”它,但它有很多问题和错误,无法迅速修复。社交登录也存在问题。将社交登录和 OpenID Connect 结合到您的 SP,您将很难让它发挥作用。 OpenAM 是开源的 :)【参考方案3】:

是的,毫无疑问。当他们可以使用 2014 年的 JSON/REST API 时,没有人愿意使用 2005 年(移动前)的 SOAP/XML 标准。请参阅 Gluu 的协议预测:http://www.gluu.co/sso-protocol-predictions

如果您对此表示怀疑,请参阅 Forrester 的预测... http://www.gluu.org/blog/wp-content/uploads/2014/06/eve_uma_irmsummit_2014-300x225.jpg 请注意“中等成功”曲线上的 SAML,以及“显着成功”曲线上的 OpenID Connect。

问题在于 SAML 供应商不同意破坏性更改,而移动/无头 API 破坏了 SAML 设计中的一些假设。

迈克·施瓦茨 创始人/CEO Glu http://gluu.org

【讨论】:

嗨迈克! :) 我认为 Eve(和你的预测)所说的是,我们将看到大型供应商的巨大初始跳跃......公司仍然需要时间来了解 RP 方面的 OIDC。我一点也不反对 SOAP/REST XML/JSON 论点。【参考方案4】:

我希望 OIDC 会随着时间的推移取代基于 SAML 的身份验证。

Apache Fediz(从 1.3.0 版开始)支持 * SAML 网络单点登录 * WS-联邦 * OIDC

Fediz 的伟大之处在于,它还支持协议桥。 因此,您可以使用 SAML Web SSO 通过 IDP 登录,最后登录到 OIDC Web 门户。 https://cxf.apache.org/fediz.html http://janbernhardt.blogspot.de/2015/12/fediz-with-openid-connect-support-and.html

但是,OIDC 目前不支持 SLO。但由于它是一个开源项目,添加它应该很简单,因为总是欢迎贡献。

【讨论】:

OpenID 和 SAML 有啥区别?

】OpenID和SAML有啥区别?【英文标题】:WhatisthedifferencebetweenOpenIDandSAML?OpenID和SAML有什么区别?【发布时间】:2011-12-0316:38:48【问题描述】:OpenID和SAML有什么区别?【问题讨论】:【参考方案1】:原始OpenID2.0与SAML它们是两种不同... 查看详情

OpenID Connect 和 IDP 发起的 SSO

】OpenIDConnect和IDP发起的SSO【英文标题】:OpendIDConnectandIDPInitiatedSSO【发布时间】:2018-12-0514:46:48【问题描述】:我有一个应用程序,它是一个服务提供者。是否可以使用OpenIDConnect实现Idp发起的SSO?看起来对于Idp发起的SSO,只能... 查看详情

ADFS 2016 - OpenID Connect Discovery Endpoint 的 CORS 问题

】ADFS2016-OpenIDConnectDiscoveryEndpoint的CORS问题【英文标题】:ADFS2016-CORSissueforOpenIDConnectDiscoveryEndpoint【发布时间】:2018-05-0816:15:49【问题描述】:我正在尝试使用ADFS(本地)设置我们的AngularSPA+.ASPNETCoreAPI以摆脱Windows身份验证。最... 查看详情

OpenId Connect 如何保护资源服务器免受客户端模拟?

】OpenIdConnect如何保护资源服务器免受客户端模拟?【英文标题】:HowcanOpenIdConnectprotectresourceserverfromclientimpersonation?【发布时间】:2017-11-1309:28:51【问题描述】:我知道openIdconnect可以发出一个可以被客户端(依赖方)对最终用户... 查看详情

WS-Trust、OpenID 和 SAML Passive 之间有啥区别?

】WS-Trust、OpenID和SAMLPassive之间有啥区别?【英文标题】:What\'sthedifferencebetweenWS-Trust,OpenID,andSAMLPassive?WS-Trust、OpenID和SAMLPassive之间有什么区别?【发布时间】:2011-04-0309:53:42【问题描述】:似乎MicrosoftADFSv2支持WS-Trust和SAMLPassive... 查看详情

如何验证每个用户可以使用 OAuth 和 OpenID Connect 访问哪些资源?

】如何验证每个用户可以使用OAuth和OpenIDConnect访问哪些资源?【英文标题】:HowtoverifywhichresourceseachusercanaccesswithOAuthandOpenIDConnect?【发布时间】:2016-03-2610:12:49【问题描述】:假设我们有一些RESTfulAPI,我们想要公开其资源。最终... 查看详情

oauth&openid&saml工作流程梳理对比

参考技术A我们经常会提到到SSO,OAuth,OpenID,SAML,一时间会让人摸不清他们之间的关系和区别,最近简单粗浅的研究了一下,分享出来。还有很多问题没来得及搞清楚,希望与大家一起讨论学习!OAuth是由Google和Twitter合作开发... 查看详情

OpenID Connect 如何处理服务链?

】OpenIDConnect如何处理服务链?【英文标题】:HowdoesOpenIDConnectdealwithservicechains?【发布时间】:2021-01-0902:54:04【问题描述】:背景假设我有一个创建货件的应用程序。用户坐在该应用程序前面并加载页面。然后将它们重定向到IDP... 查看详情

OpenID-Connect 身份验证服务器的登录页面中是不是需要 CSRF 令牌?

】OpenID-Connect身份验证服务器的登录页面中是不是需要CSRF令牌?【英文标题】:IsCSRFtokennecessaryintheloginpageofanOpenID-Connectauthenticationserver?OpenID-Connect身份验证服务器的登录页面中是否需要CSRF令牌?【发布时间】:2019-03-2117:03:25【... 查看详情

OpenID Connect webfinger 端点是用户帐户到 OpenID Connect 提供者的映射吗?

】OpenIDConnectwebfinger端点是用户帐户到OpenIDConnect提供者的映射吗?【英文标题】:IstheOpenIDConnectwebfingerendpointamapofuseraccounttoOpenIDConnectproviders?【发布时间】:2018-04-1707:42:13【问题描述】:在thisquestion中,示例答案以:假设Carol希望... 查看详情

Keycloak, openId-connect userInfo

】Keycloak,openId-connectuserInfo【英文标题】:【发布时间】:2017-02-0901:59:31【问题描述】:我正在尝试使用Keycloak的openId-connect端点获取有关用户角色的信息。我正在使用/auth/realms/moje/protocol/openid-connect/userinfo端点来获取有关经过身... 查看详情

Facebook 的 OpenID Connect 配置

】Facebook的OpenIDConnect配置【英文标题】:OpenIDConnectConfigurationforFacebook【发布时间】:2014-08-1515:09:38【问题描述】:Google在https://accounts.google.com/.well-known/openid-configuration实现了OpenIDDiscoverySpec,它允许开发人员和用户找到OpenID身份... 查看详情

OpenID Connect 提供商 [关闭]

】OpenIDConnect提供商[关闭]【英文标题】:OpenIDConnectproviders[closed]【发布时间】:2012-05-1608:49:30【问题描述】:我们目前有一个基于OpenID的GoogleAppEngine应用程序。我们现在正尝试将我们的应用程序与我们的客户内部IT系统集成,并... 查看详情

使用 jumbojett/OpenID-Connect-PHP 库的 KeyCloak 身份验证流程

】使用jumbojett/OpenID-Connect-PHP库的KeyCloak身份验证流程【英文标题】:KeyCloakAuthenticationFlowwithjumbojett/OpenID-Connect-PHPLibrary【发布时间】:2020-05-2803:06:48【问题描述】:我正在努力使用OpenID提供程序设置安全应用程序。我做了什么:... 查看详情

设置 openid-connect 基础设施

】设置openid-connect基础设施【英文标题】:Setupopenid-connectinfrastructure【发布时间】:2020-05-2207:37:12【问题描述】:我对使用openid连接的授权/身份验证非常陌生。我想我对如何设置适当的后端基础设施缺乏一些基本的了解。有一个... 查看详情

限制来自未知来源的 openid-connect 用户信息请求

】限制来自未知来源的openid-connect用户信息请求【英文标题】:Restrictopenid-connectuserinforequestfromunknownsource【发布时间】:2017-11-1801:56:52【问题描述】:如何限制来自未知来源的openid-connect请求。如果我们有可用的访问令牌,任何... 查看详情

OpenID Connect:使用 response_type 令牌请求范围 openid 是不是错误

】OpenIDConnect:使用response_type令牌请求范围openid是不是错误【英文标题】:OpenIDConnect:Isitanerrortorequestscopeopenidwithresponse_typetokenOpenIDConnect:使用response_type令牌请求范围openid是否错误【发布时间】:2018-12-2808:40:32【问题描述】:有... 查看详情

OpenID Connect 提供程序实施

】OpenIDConnect提供程序实施【英文标题】:OpenIDConnectProviderimplementation【发布时间】:2013-06-1100:44:40【问题描述】:是否有任何在.NET中实现OpenIDConnectProvider的示例?DotNetOpenAuth似乎不支持此标准。【问题讨论】:你有没有找到在.Ne... 查看详情