Составление SAML2 AuthnRequest для OpenAM - PullRequest
2 голосов
/ 19 октября 2011

Я пытаюсь составить SAML2 AuthnRequest для OpenAM. У меня есть URL-адрес, по которому я могу выполнить эту работу, но у меня возникают проблемы при компоновке этого в форму сообщения XHTML.

Рабочий URL со строкой запроса:

http://internal.authhost.com:8080/opensso/idpssoinit?NameIDFormat=urn:oasis:names:tc:SAML:2.0:nameid-format:transient&metaAlias=%2FMYRealm%2Fidp&spEntityID=https%3A%2F%2Fsaml.salesforce.com&binding=urn%3Aoasis%3Anames%3Atc%3ASAML%3A2.0%3Abindings%3AHTTP-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 в кодировке Base 64 для

<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 появляется сообщение об ошибке «Идентификатор поставщика услуг имеет значение NULL»

Я сразу вижу, что XML не содержит аргумента metaAlias ​​= / MYRealm / idp, но в сообщении указывается, что он также не может найти аргумент spEntityID = https://saml.salesforce.com.

Пожалуйста, сообщите, где эти два свойства (metaAlias ​​и spEntityID) должны быть указаны в XML.

Будет также приветствоваться ссылка на где-нибудь, указывающая, как конфигурация OpenAM COT / IdP сопоставляется с сообщением SAML AuthnRequest.

1 Ответ

2 голосов
/ 01 ноября 2011

Проблема заключалась в том, что я обращался по неправильному URL-адресу, должен был попасть в spssoinit, так как это был SSO, инициированный поставщиком услуг

...