我已经实现了一个SAML服务提供者,以支持对ASP.Netweb门户,它是在客户机站点上配置的收缩包装软件,必须能够与任何符合SAML的身份提供者进行交互。
根据我对SAML协议的理解,SAML请求
协议绑定
属性指定响应支持哪些协议。目前,我的请求指定HTTP重定向绑定。不过,我要宣布,我支持这两项
HTTP重定向
(得到)和
HTTP-POST协议
(岗位)。在搜索了比我想重申的更多的SAML文档之后,我找不到声明多个支持的协议绑定的语法(或者这样做是否有效)。
虽然我可以使此声明可配置,但我的首选是声明这两个绑定,以便标识提供程序可以在没有额外配置门户的情况下工作。
下面是我的身份验证请求的示例。如果有人知道如何声明协议绑定的HTTP重定向和HTTP-POST,我将非常感谢您的意见!
<?xml version="1.0" encoding="utf-8"?>
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="[AUTHN_ID]"
Version="2.0"
IssueInstant="[ISSUE_INSTANT]"
ProtocolBinding="urn:oasis:names.tc:SAML:2.0:bindings:HTTP-Redirect"
ProviderName="[PROVIDER_NAME]"
AssertionConsumerServiceURL="[ACS_URL]">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
PortalEntityID
</saml:Issuer>
<samlp:NameIDPolicy
AllowCreate="true"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" />
</samlp:AuthnRequest>
提前感谢任何能帮忙的人!