SAMLレスポンスをブラウザで取得・Base64デコード

はじめに

SimpleSAMLphpSAML認証に対応したSPで、IdP認証後のSAMLレスポンス検証がうまくいかなかったため、SAMLレスポンスのデバッグ方法を確認しました。
便利なもので、以下のリンク先にある通りChromeFirefox等で簡単に取得できます。

docs.aws.amazon.com

ChromeSAMLレスポンスを取得

以下の手順を実行します。

  1. F12 キーを押して開発者コンソールを開始します。

  2. [Network (ネットワーク)] タブを選択し、[Preserve log (ログの保持)] を選択します。

  3. 問題を再現します。

  4. 開発者コンソールペインで [SAML Post] を探します。その行を選択し、次に下部の [Headers (ヘッダー)] タブを表示します。エンコードされたリクエストを含む [SAMLResponse] 属性を探します。

SAMLレスポンスを確認したい画面まで移動し、 Headers から SAMLResponse を見つけることができました。

f:id:hiroki-sawano:20200829031749p:plain

SAMLレスポンスをデコード

取得したレスポンスはBase64エンコードされているので以下のコマンドでデコードします。
これでXML形式のレスポンスが手に入りました。

$ echo 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVV...' | base64 -D
<?xml version="1.0" encoding="UTF-8"?>
<saml2p:Response....