SAMLのアサーションの中身を確認する方法

最近SAMLを扱うことが増えたので備忘録代わりに記載します。

SAMLアサーションXMLで書かれているが、パケットキャプチャで見ようとしても認証情報なのでSSL/TLSで暗号化されており、中を確認することができません。
しかし一般的にはブラウザを経由して認証を実施しており、ブラウザの動作はL7となるため暗号化が解除された情報を見ることができるため、アサーションの中を確認することが可能です。

まずは開発者向けのブラウザのデバッガーを起動して、ネットワーク上の通信のレコーディング機能を有効化した状態で認証の操作を実施します。
SAML Responseのアサーションを確認する場合は、SPのURLへPostしているトラフィックを探します。
Postしているパラメータの中にSAMLResponseというパラメータがあり、これがアサーションのデータとなります。
ただし、アサーションのデータはこのままでは読み取ることができません。
まず、アサーションのデータはURLエンコーディングされているため、URLデコートします。
URLデコードして出てきたデータはBase64エンコードされているデータとなるため、さらにBase64デコードします。
これでアサーションXMLデータを取得できるはずです。

以上となります。