- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试使用以下代码和 OpenSaml 库从服务提供商元数据文件 (SAML 2.0) 检索 RoleDescriptor
节点:
EntitiesDescriptor entityDescriptors = getConfiguration(providerId);
List<RoleDescriptor> roleDescriptors = (List<RoleDescriptor>) entityDescriptors.getEntityDescriptors().get(0).
getRoleDescriptors();
EntityDescriptor ed = entityDescriptors.getEntityDescriptors().get(0);
if(roleDescriptors != null && !roleDescriptors.isEmpty()){
RoleDescriptor r = (RoleDescriptor) roleDescriptors.get(0);
return roleDescriptors.get(0).getErrorURL();
}
我的问题是变量 r
的结尾类型为 org.opensaml.saml2.metadata.impl.SPSSODescriptorImpl
而不是 org.opensaml.saml2.metadata.impl.RoleDescriptorImpl
这是我正在使用的元数据 xml 文件:
<EntityDescriptor entityID="http://mysp.com/resource">
<RoleDescriptor errorURL="http://localhost:8080/dummy-sp/error.jsp">
</RoleDescriptor>
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<KeyDescriptor use="encryption">
<EncryptionMethod Algorithm=
"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256">
</EncryptionMethod>
</KeyDescriptor>
<AssertionConsumerService index="1"
isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="http://localhost:8080/dummy-sp/dummysp" />
</SPSSODescriptor>
<Organization>
<OrganizationName xml:lang="en">Your Service
</OrganizationName>
<OrganizationDisplayName xml:lang="en">Your
Service
</OrganizationDisplayName>
<OrganizationURL xml:lang="en">http://sp.example.org/
</OrganizationURL>
</Organization>
<ContactPerson contactType="technical">
<GivenName>Your</GivenName>
<SurName>Admin</SurName>
<EmailAddress>admin@example.org</EmailAddress>
</ContactPerson>
</EntityDescriptor>
最后是我的 Eclipse 调试屏幕的扫描:
最佳答案
我尝试使用此处描述的方法验证您的元数据 xml。 https://wiki.surfnet.nl/display/OpenConext/Validating+SAML2+metadata
它表示该元素(添加元数据命名空间后)
RoleDescriptor: Schemas validity error : Element '{urn:oasis:names:tc:SAML:2.0:metadata}RoleDescriptor': The type definition is abstract.
正如 saml 元数据规范所述,
The RoleDescriptor element is an abstract extension point that contains common descriptive information intended to provide processing commonality across different roles. New roles can be defined by extending its abstract RoleDescriptorType complex type
因此您的元数据 xml 中不能包含 RoleDescriptor 元素。您必须使用规范中描述的具体角色(SSO 身份提供商、SSO 服务提供商、身份验证机构、属性机构、策略决策点、从属关系),或者扩展抽象 RoleDescriptor。
因此,由于上述原因,org.opensaml.saml2.metadata.impl.RoleDescriptorImpl
是opensaml中的一个抽象类,具体角色的实现扩展了这个抽象类。
关于java - OpenSaml 检索错误的 RoleDescriptor 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28938228/
我们可以设置签名算法如下: signature.setSignatureAlgorithm("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
我正在使用 Spring SAML ,来自 国内流离失所者 响应 我接收颁发者作为属性 ID,所以我想在 spring saml 中接收后更改响应,所以我重写了方法 unmarshall,它将解析消息
在我们的应用程序中,我们正在尝试升级到 Spring boot 2,我们正在使用 spring-security-saml2-core:1.0.4.RELEASE,在运行应用程序时我们遇到以下异常。看
我被分配了在我的公司和客户之间实现 SAML 的任务。我正在考虑使用 OpenSAML,但我正在努力设置 Maven 项目。 我添加依赖项: org.opensaml opensaml 2.5.1
我尝试使用 Open Saml 2 从 Idp 读取元数据。当我尝试解码元数据时,openSaml 仅显示属性 getUnknownAtrributes() 的 getter。看起来我遗漏了一些要点,
我正在尝试对使用 OpenSAML 从身份提供商获取的 SAML2 响应进行签名验证。我正在尝试读取本地文件系统的响应。 这是我的代码: DefaultBootstrap.bootstrap();
我正在尝试创建 SAML 响应。构成断言的属性之一称为地址,属性值需要是在 XSD 中定义的自定义类型。如何将自定义属性值类型添加到响应中? 最佳答案 如果你的属性值 XML 是 String 形式:
我在 opensaml2.6 上运行这段代码 Element metadataRoot = document.getDocumentElement(); // Unmarshall Unmarshal
本文整理了Java中org.opensaml.xml.XMLConfigurator类的一些代码示例,展示了XMLConfigurator类的具体用法。这些代码示例主要来源于Github/Stacko
我正在构建一个 SAML 2.0 AuthNRequest。 我设法使用 OpenSaml 添加了签名信息,但我找不到添加 的方法和 使用图书馆的值(value)。 这是代码: public
我和我的团队正在使用 opensaml 生成 SAML token 。我们已经设法完成此设置,但另一个团队的成员告诉我们,如果我们能够对生成的 token 进行一些配置,他们将不胜感激。 他们希望我们
我已经使用 Opensaml 解密了一个 SAML 断言。尽管解密没有错误,但当我尝试验证该断言的签名时,它失败并出现错误 "org.apache.xml.security.signature.Mis
您好,我目前正在将应用程序移植到 opensaml3 并遇到以下问题: InitializationService.initialize(); ... Unmarshaller unmarshalle
我在 Tomcat 8 中运行一个使用 OpenSAML 的网络应用程序。我已经在 Tomcat 中认可了 Xerces,我检查了认可的目录路径是否设置正确,看起来一切正常: [ajp-apr-800
我正在尝试通过签署响应而不是声明来实现 SAML 2.0。我有 3 个现有供应商在断言级别接受我的签名,但是一个新供应商在协议(protocol)/响应级别请求它。我已经用谷歌搜索和调试了大约 8 个
我目前正在设置 SAML IDP。起初,我认为 spring-security-saml 会帮助我,但我发现它只有助于设置 SAML 协议(protocol)的 SP 端。 所以我想:走吧,让我们使用
我正在为充当服务提供商的应用程序使用 opensaml。到目前为止,我一直在手动创建 SP 元数据。 Java 中是否有示例显示如何以编程方式生成服务提供者元数据 ? 最佳答案 EntityDescr
好吧,这是另一个“我不知道从哪里开始”的问题,所以希望答案很简单。但是,我真的不知道要搜索什么,到目前为止我的尝试没有多大用处。 我想从一个(当前在磁盘上的)文件中读取私钥。最终 key 将驻留在数据
本文整理了Java中org.opensaml.xml.schema.XSBooleanValue类的一些代码示例,展示了XSBooleanValue类的具体用法。这些代码示例主要来源于Github/S
本文整理了Java中org.opensaml.xml.schema.XSBase64Binary类的一些代码示例,展示了XSBase64Binary类的具体用法。这些代码示例主要来源于Github/S
我是一名优秀的程序员,十分优秀!