Composing a SAML2 AuthnRequest for OpenAM



我正试图为OpenAM撰写SAML2 AuthnRequest。我有一个URL,我可以对其执行get操作,但在将其组合到XHTML post表单中遇到问题。

使用查询字符串的工作URL是

http://internal.authhost.com: 8080/opensso/idpssoinit ? NameIDFormat = urn: oasis: names: tc: SAML: 2.0: nameid-format: transient& metaAlias = % 2 fmyrealm % 2 fidp& spEntityID 3 = https % % 2 f % 2 fsaml.salesforce.com&绑定=瓮% 3 aoasis % 3安南% 3 atc % 3 asaml % 3 a2.0 % 3约束力% 3 ahttp-post& RelayState = webj_captureCustomerDetails

我的html表单看起来像:

<form action="http://internal.authhost.com:8080/opensso/idpssoinit" method="post" target="new">
  <input type="text" name="SAMLRequest" value="PHNhbWxwOkF1dGhuUmV..."></input>
  <input type="text" name="RelayState" value="webj_captureCustomerDetails"></input>
  <input type="submit"/>
</form>

, SAMLRequest的值是

的base64编码表示形式。
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    ID="_d7607d551380ac97853a6ff4907c4ef01219be97dd" Version="2.0"
    IssueInstant="2008-05-27T07:46:06Z" ForceAuthn="true" IsPassive="false"
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
    AssertionConsumerServiceURL="https://cs4.salesforce.com/?saml=lkjhkljhkljhkjhlkjh"
    ProviderName="https://saml.salesforce.com">
    <saml:Issuer>https://saml.salesforce.com</saml:Issuer>
    <samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
        AllowCreate="true"/>
</samlp:AuthnRequest>

发出此表单会导致OpenAM报错"Service Provider ID is null"

我可以立即看到XML不包含metaAlias=/MYRealm/idp参数,但是消息表明它也找不到spEntityID=https://saml.salesforce.com参数。

请告知这两个属性(metaAlias和spEntityID)需要在XML中指定的位置。

指定OpenAM COT/IdP配置如何映射到SAML AuthnRequest消息的链接也将受到赞赏。

问题是我访问了错误的URL,应该点击spssoinit,因为它是服务提供商发起的SSO

相关内容

  • 没有找到相关文章

最新更新