2016-11-28 26 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がXの定義によって課せられたものに 加えて、以下の特性を満たさなければならない:IDタイプ自体:

  • ことを保証しなければならない識別子を割り当てる当事者 その当事者または他の当事者が間違って同じ識別子を別のデータオブジェクトに割り当てることはほとんどありません。
  • データオブジェクトは特定の識別子を持つことを宣言しますが、 にはそのような宣言が1つ必ず存在しなければなりません。

SAMLシステムエンティティは、識別子が 実装に任されているユニークであることを保証するメカニズム。ランダムまたは疑似乱数法が用いられる場合、2つのランダムに選択された識別子が同一である確率は、2-128以下でなければならず、 は2-160以下でなければならない(SHOULD)。

IDを生成する既存の方法のいずれかを使用する必要があります。

+0

Thx man。私はたくさんのものをチェックしましたが、それについては考えていませんでした。 – Gobliins

関連する問題