5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SAMLResponseの解析方法

Last updated at Posted at 2024-09-27

はじめに

この記事は、SAMLResponseの中身を取り出して、シングルサインオン(SSO)の問題を解決したい方向けの記事です。
認証が上手くいかない原因を解決するために、認証サーバーから送られてきたSAMLResponseの詳細を解析するための方法をまとめました。

  1. 認証サーバー宛てにRequestは送れておりResponseが返ってきているものの、サービス側で認証ができない
  2. 原因を追究するためにSAMLResponseの中身を具体的に確認したい

上記で悩んでいる人の手助けになればと思い、記事を書きました。
細かい仕様やIT用語は所々省いていますが、ご了承ください。

SAMLResponseのデータを取り出そう

何はともあれSAMLResponseのデータを取得する必要があります。

  1. ブラウザの開発者ツールを開き、Networkタブを表示
  2. 事象を再現し、通信内容を確認
  3. 画像のようにpayloadタブを選択しておく
  4. 「SAMLResponse:」があるやりとりを見つけ、画像のようにpayloadにSAMLResponseが表示されていることを確認
    image.png

文字列の上で右クリックを押すと「Copy value」が表示されます。クリックすることで、SAMLResponseデータを全文コピーできます。

これでSAMLResponseのデータを取得できました。

が、このままでは何が何やらわからないので、VSCodeを使ってエンコードしていきます。

VSCodeの設定

VSCodeのインストール方法は調べれば出てくるので、頑張ってください。

必要な拡張機能をインストールしましょう

  • SAML Extension
    image.png
    →SAMLResponseデータをエンコードするために使います。

  • XML Tools
    image.png
    →エンコードしたSAMLResponseデータを見やすく整えてくれます。

これで準備完了です!

SAMLResponseの中身を見てみよう

1. 新しいテキストファイルを開く(フォルダとか好きにしてください。とりあえず最短の手順を言います)

image.png

2. SAMLResponseデータを貼り付け

image.png

3. Ctrl + Aで全選択、Ctrl + Shift + Pでコマンドパレットを表示

image.png

4. SAML: Decode elementを選択

image.png
これでSAMLResponseデータが読めるようになりました!ただこのままだと見にくいので、XML Toolsを使ってFormatしましょう。

5. Ctrl + Aで全選択、Ctrl + Shift + Pでコマンドパレットを表示し、XML Tools: Format as XMLを選択

image.png

6. これでSAMLResponseが見やすくなりました!

image.png

うまくエンコードできないときは…

SAMLResponseデータがURLエンコードされているものをコピーすると、エンコードできません。
データに%2などがないことを確認してみてください。

SAMLRequestもエンコード可能

ここでは詳細書きませんが、同じようにSAMLRequestも確認することができます。
SAML: Decode and inflate elementを選択すればOKです。

おわり

自分はこの方法でSSOに関する問い合わせ調査をやっています。個人情報が含まれるのでくれぐれも取り扱いに注意してくださいね。

SAML-tracerというchromeの拡張機能を使えばもっとわかりやすいとのことですが、社用PCではブロックされました。。。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?