安全断言标记语言2.0(SAML 2.0)是一种在安全域之间交换身份验证和授权数据的标准。它通常用于实现跨域单点登录(SSO)和安全令牌的创建。
我正在尝试使用 pysaml2 将 AWS 的 SSO 集成到我的 Flask 应用程序中,pysaml2 需要 xmlsec,但我在安装时遇到问题。 这是我收到的错误: pip 安装 xmlsec 收集x...
WSO2 身份服务器 SAML 2.0(解码 SAML 请求时出错)
我正在创建 SAML 2.0 请求,如下所示 字符串 samlRequestXml = " 我正在创建 SAML 2.0 请求,如下所示 string samlRequestXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><samlp:AuthnRequest AssertionConsumerServiceURL=\"https://localhost:44395/home/AssertionPage\" Destination=\"https://localhost:9443/samlsso\" ForceAuthn=\"false\" ID=\"hloijnnfkolebkokdhgicdfehjdkkoblhekbcapg\" IsPassive=\"false\" IssueInstant=\"2023-07-20T13:20:31.134Z\" ProtocolBinding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Version=\"2.0\" xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"><samlp:Issuer xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:assertion\">MAssertionName</samlp:Issuer><saml2p:NameIDPolicy AllowCreate=\"true\" Format=\"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent\" SPNameQualifier=\"Issuer\" xmlns:saml2p=\"urn:oasis:names:tc:SAML:2.0:protocol\"/><saml2p:RequestedAuthnContext Comparison=\"exact\" xmlns:saml2p=\"urn:oasis:names:tc:SAML:2.0:protocol\"><saml:AuthnContextClassRef xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\">urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef></saml2p:RequestedAuthnContext></samlp:AuthnRequest>"; byte[] samlRequestBytes = Encoding.UTF8.GetBytes(samlRequestXml); string encodedSamlRequest = Convert.ToBase64String(samlRequestBytes); string URL_Encode = HttpUtility.UrlEncode(encodedSamlRequest); string request = "https://localhost:9443/samlsso?SAMLRequest=" + URL_Encode; return Redirect(request); 请告诉我我做错了什么。我在控制台中遇到以下错误 Error when processing the authentication request! org.wso2.carbon.identity.base.IdentityException: Error when decoding the SAML Request. 在 SAML 请求 XML 字符串中,您对 XML 标记内的属性使用双引号。但是,外部字符串也用双引号括起来。这可能会导致字符串结构发生冲突。您应该对外部字符串使用单引号,对 XML 标记内的属性值使用双引号。 像这样更新行: "<samlp:AuthnRequest AssertionConsumerServiceURL="https://localhost:44395/home/AssertionPage" ... 至: "<samlp:AuthnRequest AssertionConsumerServiceURL='https://localhost:44395/home/AssertionPage' ... 您似乎正在对整个 SAML 请求进行 URL 编码,包括 base64 编码的 XML。您应该仅对 Base64 编码的 XML 字符串进行 URL 编码。 修改此行 string request = "https://localhost:9443/samlsso?SAMLRequest=" + URL_Encode; 到 string request = "https://localhost:9443/samlsso?SAMLRequest=" + encodedSamlRequest; 之后您的代码需要如下所示。 string samlRequestXml = "<samlp:AuthnRequest AssertionConsumerServiceURL='https://localhost:44395/home/AssertionPage' Destination='https://localhost:9443/samlsso' ForceAuthn='false' ID='hloijnnfkolebkokdhgicdfehjdkkoblhekbcapg' IsPassive='false' IssueInstant='2023-07-20T13:20:31.134Z' ProtocolBinding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' Version='2.0' xmlns:samlp='urn:oasis:names:tc:SAML:2.0:protocol'><samlp:Issuer xmlns:samlp='urn:oasis:names:tc:SAML:2.0:assertion'>MAssertionName</samlp:Issuer><saml2p:NameIDPolicy AllowCreate='true' Format='urn:oasis:names:tc:SAML:2.0:nameid-format:persistent' SPNameQualifier='Issuer' xmlns:saml2p='urn:oasis:names:tc:SAML:2.0:protocol'/><saml2p:RequestedAuthnContext Comparison='exact' xmlns:saml2p='urn:oasis:names:tc:SAML:2.0:protocol'><saml:AuthnContextClassRef xmlns:saml='urn:oasis:names:tc:SAML:2.0:assertion'>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef></saml2p:RequestedAuthnContext></samlp:AuthnRequest>"; byte[] samlRequestBytes = Encoding.UTF8.GetBytes(samlRequestXml); string encodedSamlRequest = Convert.ToBase64String(samlRequestBytes); string URL_Encode = HttpUtility.UrlEncode(encodedSamlRequest); string request = "https://localhost:9443/samlsso?SAMLRequest=" + encodedSamlRequest; return Redirect(request);
AADSTS750054:SAMLRequest 或 SAMLResponse 必须作为 SAML 重定向绑定的 HTTP 请求中的查询字符串参数出现
请告诉我使用 Azure AD SAML2.0 在 ASP.net MVC 中实现 SAML 2.0 的代码。 我们已经在 SSO 中使用了以下 SAML 协议方法,但它不是 intigrat...
无法使用 djangosaml2 从 django 项目向 authentik 发送签名请求
[DJangoSAML2][1] 这是settings.py文件中的SAML配置 SAML_CONFIG = { 'xmlsec_binary': '/usr/bin/xmlsec1', '名称': '真实性', 'entityid': 'authentik', '服务': { ...
在 Java 应用程序中使用 Spring Security 和 SAML2 服务提供程序实现无状态会话
我的Java应用程序使用spring security和Saml2作为服务提供者。我能够与身份提供者集成并正确获取 saml 断言。我想避免使用 JSESSIONID
Azure AD B2C - 联合 SAML IDP 启动登录
我已将我们的 Web 应用程序配置为通过 OIDC 使用 Azure AD B2C,它可以与内置 IDP 集成(如 Github 或本地帐户)成功配合使用。我们收到客户要求整合...
我有一个使用 ITfoxtec Identity SAML 2.0 库的 .Net Core 服务提供商 Web 应用程序。 我想我已经完成了 90% 的工作,但我对元数据真的很困惑。就像我从哪里得到它,o...
Azure AD B2C 与 Azure AD 的 SAML 设置
我必须集成第三方应用程序以进行 SAML 身份验证 第三方应用程序提供了他们的 Azure AD 设置指南,但我们的应用程序需要 Azure AD B2C。 根据他们的...
我正在尝试将 Google SAML SSO 合并到我的 Web 应用程序中,但我无法找到解释如何执行此操作的资源或示例。 我已经关注了谷歌关于 SAML SSO 的文档......
如何在 .Net Core 应用程序中从 ADFS 获取 saml 令牌
我有一个 .Net 核心微服务。我需要与其他服务交谈以获取数据。但是其他服务支持 SAML 身份验证,他们提供 urls(依赖方,adfs),凭据,证书...
.NET Core 身份验证:让用户选择 AuthO MFA 登录或 SAML 登录(不通过 AuthO)
我正在尝试做到这一点,以便当用户访问我的网站时,他们能够选择他们想要使用的身份验证方法。他们要么选择重定向到他们的 IdP 并验证...
Spring Security SAML2 - 如何实现手动 Saml2 登录
我的旧系统使用的是 OpenSAML 1.0,现在我想升级到 Spring Security SAML2。在旧系统中,我使用 OpenSAML 1.0 并在切换到 Spring 后完全手动进行身份验证
是否可以在身份验证后将 JWT 令牌发送到服务器进行反序列化?
我在一家公司的一个项目中,该公司有多个身份提供者,他们都使用 Open ID Connect 或 SAML。有人建议将令牌发送到服务器(不是
如何在后端应用程序中使用 AuthnRequest 请求检索 saml2 (SSO) Azure AD?
我有一个 Web 应用程序,它已经可以通过 Azure AD 中的业务应用程序 (SSO) 使用 AuthnRequest 检索 saml2,据我所知,当我发出检索 saml2 的请求时......
我知道您可以为 Google OAuth2 定义范围,但是您可以为 Google SAML 定义范围吗? 我已经阅读了 Google SAML 文档以及有关 Google SAML 的一些标准信息,但无法...
如何将 Azure AD SAML SSO 与作为前端的 Angular 和作为后端的 Java 集成?
我如何在 Angular App 中实现 saml sso,我已经完成了 Azure AD 中的所有步骤,并且还在 saml 工具包的帮助下测试了 sso 应用程序。现在如何从 Angular App 中集成它。 我是
pac4j for jee - 在 ConfigFactory 的实现中是否可以加载外部属性文件而不是硬编码配置
我找到了关于 JEE 的 pac4j 的官方演示:github 中的 jee-pac4j-demo (https://github.com/pac4j/jee-pac4j-demo) 每个身份验证机制的配置都在组织中定义...
laravel-samlidp 包错误:gzinflate(): data error
我们的项目是一个多租户SASS。我们只为一个租户使用该软件包,并且在我按照文档进行操作时一切正常。我们希望使用 SAML 对用户进行身份验证...
我是 SAML v2.0 技术的初学者,我了解理论知识,但我没有在 Google 上找到任何示例。谁能为我提供一个简单的“SAML for v2.0”的分步示例。 上...
如何在 Angular 中集成具有 SAML SSO 的 Azure AD 应用程序(不应征求用户许可)
我的管理员使用 SAML SSO 在 Azure AD 中创建了一个应用程序并共享了 xml 证书。 我已经在 MSAL 的帮助下将该应用程序的配置集成到我的角度项目中,但是