2016-11-14 13 views
0

"AADSTS75005:要求は有効なSaml2プロトコルメッセージではありません。" Azure AD/idpにAuthnRequestを送信しようとすると、AzureへのAuthnRequestの修正AD/idp

私はそれを圧縮する前に、XMLはbase64stringに変換し、メッセージをエンコードする前に、このように見えます。

<samlp:AuthnRequest xmlns="urn:oasis:names:tc:SAML:2.0:metadata" ID="ide13dd575-3f6c-4131-9b9d-e12c644cf18f" Version="2.0" IssueInstant="2016-11-14T14:28:27.5450323Z" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">{homepage url registered in azure app registrations}</Issuer></samlp:AuthnRequest> 

ユーザは/ SAML2?SAMLRequest = {符号化されたSAML要求が取り除か}

同じ作品を私が送信{アズールにおけるアプリのエンドポイントからSAML-Pサインオンエンドポイント} https://login.microsoftonline.com/にリダイレクトされますそれ(SimpleSAMLphpを使用する)他のSAML2のIDP

にウェブブラウザはhttps://login.windows.net/ {エンドポイントID}/SAML2?SAMLRequest = jZBLasMwFEW3YjRXbKny72EbAqVgaCkkbQedBEVWiKktuXrP%2faytgy6pW6hJhoXQ6YV7OPf%2bfH1XqMdhgvVMR7exr7NFij7GwWHN5uDAa%2bwRnB4tAhnYru9uQa4SGC3pTpNmUXtds77rrCjy9KB4LpXian%2bV8aJLUl6Wpdknytg0y1n0ZAP23tVsQSxNxNm2Dkk7にリダイレクトされますWqJEZFwILtSDlCBSkHIlZCbLtHhmZyU4uV4Wm4Inb%2fzAmurED%2f9ZoxFtoMWMNUeiCSGOx8%2fHTbu78WG3JW1e7t9sOAz%2bvYrP1KaK%2fx7X%2fAI%3D

+0

どのように圧縮していますか?このリクエストを手動で作成しているのですか、またはサードパーティのライブラリを使って処理していますか?エンコードされたリクエストのサンプルを提供できますか? – Steve

+0

ホームページのURLが記載されていますが、これはアプリケーションID URIであると考えられています。それが正しいことを確認し、正しい場合はリクエストを提出する方法に何か問題があります。 – juunas

+0

Steve:DeflateStream(output、CompressionMode.Compress)を使用して圧縮しています。私は手動でライブラリを使用していない要求を構築しています。エンコードされたリクエストで質問に更新されます。 Juumas:私は異なるURIを試しました。アプリケーションID(これはちょうどGUIDです)、ホームページURL(私はこれが認証レスポンスが掲載される場所だと思います)。私はちょうどクエリ文字列パラメータで送信する要求です。 –

答えて

0

のように見えるように、名前空間宣言うち明確な私はこれに問題を発見したでしょう。私は新しい青空のポータルでアプリを作成しました。それは私が古いポータルで新しいアプリを作成し

https://login.windows.net/ {MYID}/SAML2するエンドポイントを示し、今ではhttps://login.microsoftonline.com/ {MYID}/SAML2

するエンドポイントを示して、私は両方のアプリを見てみると古いポータル内(旧ポータルで新で1つずつ)を作成し、それは私が新しいポータル内の同じやるならば、それはhttps://login.windows.net/ {MYID}/SAML2の両方で示しhttps://login.microsoftonline.com/ {MYID}/SAML2

を表示しますaps。

私のコードでエラーはありませんでしたが、Azure ADポータルは新しいポータルで無効なエンドポイントを報告しています。

enter image description here

0

@Steveは、既に述べたように、問題は、あなたがAuthenticationRequestをコード/収縮されている方法であると思われます。 https://stackoverflow.com/a/25155050/983244のサンプルコードを使用してみてください。あなたが.NETを使用していると仮定します(DeflateStreamに言及しました)。

私はまた、あなたのAuthnRequestが

<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 
        xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" 
        ID="ide13dd575-3f6c-4131-9b9d-e12c644cf18f" 
        Version="2.0" 
        IssueInstant="2016-11-14T14:28:27.5450323Z"> 
    <saml:Issuer>{homepage url registered in azure app registrations}</saml:Issuer> 
</samlp:AuthnRequest> 
+0

オンラインデコーダhttps://idp.ssocircle.com/sso/toolbox/samlDecode.jspを使用して質問のサンプルを使用すると、デコードがうまくいきませんので、リクエストの圧縮/エンコードに関連するはずですあなたが言及しているリンクと同じ方法で収縮/コード化されています。同じコードが他のSAML2アイデンティティプロバイダと連携して動作します。それは、クエリ文字列パラメータの名前を持つものである可能性がありますか? ?SAMLRequest = xxxパラメータ名に関する情報が見つかりません。パラメータ名を変更すると、同じエラーメッセージが表示されます。 –