问题标签 [saml-2.0]
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.
java - 使用 JAVA 和 SAML 2.0 的 IdP 发起的 Web SSO 配置文件
在我们的 Web 应用程序中,我们充当身份提供者 (IdP),通过带有用户名/密码的登录屏幕对用户进行身份验证。在成功验证后,我们希望显示最终用户可以单击以访问合作伙伴(服务提供商)网站的超链接列表。我们计划使用 SAML 2.0 和 HTTP POST 绑定来完成这些
该消息将作为名为 SAMLResponse 的隐藏表单控件放置在 HTML FORM 中,如下所示
...因为我是在 JAVA JSP 链接中将 SAMLResponse 实现为隐藏元素的新手,所以我有以下查询 - 如何在 JAVA 中生成 SAMLResponse 对象,然后将其设为隐藏字段 - 请指出示例 - 如何在 JAVA 中对 SAMLResponse 进行数字签名- 如何在 JAVA 中加密 SAMLResponse
Java世界中是否有等效的方法?是否有针对常见 servlet 容器或应用程序服务器的开箱即用解决方案和/或教程?
.net - 使用 WSSecurityTokenSerializer 在 .Net 中读取验证 SAML 断言时出现问题
我有一个 SAML 断言,我希望使用 .Net 在 .Net 中进行身份验证WSSecurityTokenSerializer
。
我有钥匙链和 SAML XML,尽管有一些问题。
首先,我从 HTTPS POST 获得 SAML 断言:
然后我得到我的 IdP 提供的密钥:
最后我在这里抛出一个错误:
调用时ReadToken
出现以下错误:
无法从具有 BinarySecretSecurityToken 的“urn:oasis:names:tc:SAML:2.0:protocol”命名空间的“Response”元素中读取令牌,并带有“”ValueType。如果预计此元素有效,请确保将安全性配置为使用指定名称、命名空间和值类型的令牌。
我的 SAML XML 开头为:
很明显,我Response
在命名空间中有一个元素urn:oasis:names:tc:SAML:2.0:protocol
。
知道这里有什么问题/遗漏吗?
.net - 如何根据 X509Certificate2Collection 链验证 X509Certificate2
我正在编写一个 SAML 2.0 响应解析器来处理 ASP.Net 中的 POST 身份验证(在 C# 和 MVC 中,但这不太相关)。
所以我有一个.p7b
文件来验证,它可以读入X509Certificate2Collection
一个示例断言 - 一个 base 64 编码的 SAML 响应。
理想情况下,我想使用内置的WSSecurityTokenSerializer
,但是失败了,所以我正在寻找一种可行的方法。
我正在直接阅读 XML:
这很有效,但它所做的只是检查X509Certificate2
SAML 响应中的签名和公钥是否匹配。它不会以任何方式验证它来自谁,我需要在接受 SAML 身份验证之前这样做。
似乎有两种方法可以检查在 SAML 响应中找到的证书 - 我可以这样做,certificate.Verify()
或者我可以使用签名进行检查signedXml.CheckSignature(certificate, false)
。
然而,两者都返回假。
我认为这是因为他们正在根据机器商店或可能在线进行检查(我不知道如何检查)。我想对照X509Certificate2Collection
从文件中检索到的内容来检查它们.p7b
——机器上注册的证书应该被忽略,只.p7b
检查证书。
似乎没有任何方法可以将 传递X509Certificate2Collection
给Verify
orCheckSignature
方法。
这是对 SAML 响应进行的正确检查吗?
有什么方法可以.p7b
按照我想要的方式使用证书吗?
vb.net - 解码 SAML 2.0 64Base 字符串
我一直在开发 SAML 2.0 SSO。我在解码 64Base 字符串以将其转换为 xml 然后稍后读取内容时遇到问题。
以下是我一直在使用的代码:
下面是base64字符串加密的saml请求:
我遇到了一个异常:“解码时发现无效数据。” 在使用上面的代码。
在使用SAML 2.0 调试器测试这个加密的 saml 请求时,它应该读作:
我在这里先向您的帮助表示感谢!
weblogic-10.x - 使用 Weblogic 10.3.4 实施 SAML2 SP 启动的用例。和 ADFS
我正在尝试实现 SP 发起的用例。为此,我拥有的是:
身份提供者:联合服务(Active Directory)。对我来说是一个“黑匣子”。我想为这项服务提供的唯一东西是我的应用程序的名称、url 和主页。我还必须提供一个带有我的服务提供者元数据的 XML。
服务提供者:Weblogic Server (10.3.4)。在这里,我配置了一个安全领域,创建了一个 Authentication Provider 和一个 Credential Mapper Provider。我还配置了所选服务器 (AdminServer) 以使用服务提供者角色。
假设一切都会正常运行,但我与巴里处于同一点(或者至少我认为......)。当我请求“注册资源”(我在联合服务系统中注册的应用程序之一)时,IDP 没有使用登录表单回答我。
然而,我的 Shibboleth 设置正在运行......
有任何想法吗?
我一直在关注这些文章:http ://biemond.blogspot.com/2009/09/sso-with-weblogic-1031-and-saml2.html,http : //blogbypuneeth.wordpress.com/2011/01/15 /steps-to-configure-saml-2-on-weblogic-server-10-3-0/它们不是同一个用例,但它们帮助了......
提前致谢,
路易斯
顺便说一下,这些是我所做的操作:
- 域:我的域
- 设置 SAML2 调试选项:EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Dweblogic.debug.DebugSecuritySAMLAtn=true -Dweblogic.debug.DebugSecuritySAMLLib=true -Dweblogic.debug.DebugSecuritySAML2Service=true -Dweblogic.debug.DebugSecuritySAML2CredMap=true -Dweblogic.debug。 DebugSecuritySAML2Atn=true"
- 配置 SSL Weblogic 服务器 (AdminServer)。默认端口 7002
- 部署应用程序:myHost_domain_com_sample_weblogic_app_2
- 注意:在域 SSO 系统中,此应用的注册主页为 myHost.domain.com:7002/myHost_domain_com_sample_weblogic_app_2/
- 测试 myHost.domain.com:7002/myHost_domain_com_sample_weblogic_app_2/
- 测试 .../myHost_domain_com_sample_weblogic_app_2/default.jsp
- 配置安全领域:myrealm(默认)
- 创建一个新的Authentication Provider:域SAML2 AUTH PROVIDER;saml2identityasserter
- 理论上没有必要:重新排序(默认身份验证 JASS 标志是必需的)
- 重新开始
- 在域 SAML2 AUTH PROVIDER 上创建“新的 Web 单点登录身份提供商合作伙伴”:
- 域 SSO 身份提供商合作伙伴
- /home/luis/Documents/domain_AUTH/FederationMetadata.xml 我们的身份提供者的文件描述符。我们已经删除了元素(我们必须更深入地了解 OASIS SAML2 SPEC)此时我们应该在管理控制台中收到此消息:合作伙伴创建成功。默认情况下,合作伙伴已被禁用。您将需要手动完成其配置,然后启用它。
- 创建一个新的凭据映射提供程序:SAML2_CMP;SAML2CredentialMapper
- 重新排序(不是绝对必要的)
- 重新开始
- SAML2_CMP 提供程序特定:
- 颁发者 URI:myHost.domain.com
- 名称限定符:myHost.domain.com
- Web 服务断言签名密钥别名:DemoIdentity
- ... 关键密码短语:DemoIdentityKeyStorePassPhrase
- 生成的属性
- 重新开始
- 创建新的 Web 单点登录提供商合作伙伴:域 SAML2 SERVICE PROVIDER PARTNER
- 导入 /home/luis/Documents/domain_AUTH/FederationMetadata.xml 此时我们应该在管理控制台中收到此消息:合作伙伴创建成功。默认情况下,合作伙伴已被禁用。您将需要手动完成其配置,然后启用它。
- 配置:启用、描述、生成属性
- 为域 SAML2 AUTH PROVIDER 设置设置:
- 启用
- 重定向 URI:/myHost_domain_com_sample_weblogic_app_2/default.jsp
- 配置服务器:AdminServer
- SAML2 一般:
- 发布站点 URL:localhost:7001/saml2
- 实体 ID:myHost.domain.com
- SAML2 服务提供者:启用
现在,如果我向重定向 URI 发出请求,没有任何反应,我的意思是,我无需经过身份验证即可访问受保护的资源。
但是,如果我包含 Weblogic 控制台的 URI“/console/index.jsp”,当我请求此资源时,服务提供者会调用身份提供者并要求我进行身份验证(通过登录表单)。
有任何想法吗?
提前致谢,
路易斯
java - 使用 SAMLResponse 令牌
基于 SAML sp 的身份验证具有以下简短的工作流程。
- 用户想要在 sp 访问应用程序。
- sp 向 idp 发送 SAMLRequest 令牌。
- idp 使用它并生成 SAMLResponse 令牌。
- idp 将此 SAMLResponse 令牌发送到 sp 给定的 AC-URL。
我的问题是 sp 如何使用这个 SAMLResponse 令牌。逻辑是什么?如果我能得到一些 JAVA 代码帮助,那将是有益的。
logout - SAML 2.0 注销请求
我正在处理来自 STS 方回复方的 LogOutRequest。我可以解析 LogoutRequest,删除 cookie 并生成 LogoutResponse。问题是在哪里发送 LogoutResponse,我没有找到关于回复 url 的信息。有任何想法吗?
sharepoint-2010 - SharePoint 2010 和 SAML 2.0
我可以将 SAML 2.0 令牌发送到 SharePoint 2010 进行身份验证吗?我在 MSDN 中找到了连接云中的 office 365 进行身份验证的示例代码,但示例代码使用 SAML 1.1 令牌。SharePoint 是否也适用于 SAML 2.0 令牌?
single-sign-on - Umbraco 成员资格与 SAML Web SSO 的集成
我需要将 Umbraco 成员资格与 SAML Web SSO 集成。
我以前从未集成过它,想给点建议:
Umbraco 中是否有一些用于 SAML WebSSO 登录的现有模块?
你能推荐一下方法/文章吗?
那能有多难?
在此先感谢,安东。
wcf - 如何将 SAML 身份验证集成到 WCF Web 服务应用程序中
我有一个在 IIS7 上构建和测试的 WCF Web 服务应用程序。关于身份验证,我想为访问 Web 服务中操作的消费者实现一个 sql server 托管的用户 ID 和密码身份验证。然而,有人告诉我,我的公司政策规定我将 SAML 实施到我的 Web 服务中。这意味着任何访问我的 Web 服务操作的客户端都需要使用 SAML 2.0 进行身份验证。我不熟悉 SAML,但想知道并开始了解如何在我的网络服务中实现它。我一直听到两个术语——服务提供者和身份提供者,基于网络上的定义,我假设服务提供者是我的网络服务。身份提供者是用户进行身份验证的地方,身份提供者向我的 Web 服务提供断言,然后我让客户端访问这些操作。我理解理论,但不确定如何投入实际实施。访问我的 Web 服务的客户端不是内部的,即它们是外部的(外部网络客户端),所以在这种情况下,身份提供者将是什么,我如何将代码添加到我的 Web 服务以使其成为服务提供者?
我希望你能理解我的困境,任何人都可以解释我需要采取的方法,并且非常感谢任何帮助我完成 Web 服务的示例或教程。