2016-11-28 4 views
0

나는 푸른이것이 유효한 saml2 요청이 아닌 이유는 무엇입니까?

<?xml version="1.0" encoding="UTF-8"?> 
<samlp:AuthnRequest AssertionConsumerServiceURL="https://myserver.de/_saml/validate/azure" 
ForceAuthn="false" ID="0" IsPassive="false" IssueInstant="2016-11-28T09:46:43.215Z" 
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">issuerid</samlp:Issuer> 
<saml2p:NameIDPolicy AllowCreate="true" 
    Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" 
    SPNameQualifier="Isser" 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> 

는 XML에 대한 SAML2 인증 요청을 생성 Opensaml을 사용하고는 Base64로에 org.opensaml.xml.io.Marshaller 및 java.util.zip.DeflaterOutputStream.DeflaterOutputStream로 인코딩되고 난 확인 correctnes를 위해 일부 온라인 saml 디코더를 사용합니다.

내가 그러나 푸른에서 얻을 오류 :

AADSTS75005: The request is not a valid Saml2 protocol message. 

사람은 도와 드릴까요?

+0

제공된 XML 발췌 내용은 XML 문서조차 아닙니다. 전체 XML을 제공해 주시겠습니까? –

+0

사실 이것은 전체 XML .... 어떻게 든 Stackoverflow 마지막 닫는 태그를 표시하지 않았다. 하지만 이것이 XML의 전체 요청입니다. – Gobliins

답변

1

'AuthnRequest'요소에서 'ID'속성을 '0'으로 정의합니다. 이것은 원자 유형 'xs : ID'의 유효한 값이 아닙니다.

인 xs :

나는 오아시스 문서의 기술적 인 규칙을 인용 ID 간단한 유형 주장, 요청과 응답에 대한 SAML 식별자를 선언하는 데 사용됩니다. 값 유형 XS으로 선언 : 본 명세서에서 ID는 XS의 정의에 의해 부과 된 것과 외에 다음 특성을 만족해야 ID 유형 자체 :

  • 확인해야하는 식별자를 할당 당사자 해당 당사자 또는 다른 당사자가 우연히 동일한 식별자를 다른 데이터 개체에 할당 할 가능성은 무시할 수있는 가능성이 거의 없습니다 ( ).
  • 데이터 개체에 특정 식별자가 있다고 선언하면 정확히 하나의 선언이 있어야합니다.

SAML 시스템 엔티티 식별자 구현에 남은 유일 것을 보장하는 메커니즘. 랜덤 또는 의사 랜덤 기법이 사용되는 경우, 무작위로 선택된 두 개의 식별자가 동일 할 확률은 2-128보다 작거나 같아야하고 은 2-160보다 작거나 같아야한다.

ID를 생성하는 기존 방법 중 하나를 사용해야합니다.

+0

Thx man. 나는 많은 것들을 점검했지만 생각하지 않았다. – Gobliins