ゆるテックノート

SAMLトラブルシュート&チェックリスト

よくある失敗パターンを素早く切り分けるためのリストです。ログとメタデータを照合しながら、順に潰していきましょう。

⏱️ 時刻ずれ

時刻がずれていると有効期間(NotBefore/NotOnOrAfter)を満たせず、署名が正しくても無効扱いになります。

チェックポイント

  • NTP同期が取れているか(IdP/SP両方)
  • タイムゾーン設定が想定通りか
  • NotBefore / NotOnOrAfter の値をログで確認

🎯 Audience / ACS ミスマッチ

レスポンスが別のSP向けとみなされ、正当な受信者ではないため拒否されます。

チェックポイント

  • Audience がSP想定のEntityIDと一致しているか
  • AssertionConsumerService のURLとBindingがメタデータと一致しているか
  • 環境別URL(本番/検証)を取り違えていないか

🔗 Binding/圧縮設定のずれ

送信方法や圧縮有無が合わないと、メッセージ展開・署名検証に失敗します。

チェックポイント

  • Redirect/POST/Artifact の組み合わせが両者で一致しているか
  • Redirect時のDeflate圧縮有無が一致しているか
  • 署名の要否がIdP/SPでずれていないか

🧯 HTTP 400 / 500 系エラー

メッセージの破損や署名エラー、誤ったエンドポイントなどでリクエストが処理できず、4xx/5xxが返されます。

チェックポイント

  • Base64デコード/Deflate展開の失敗がログに出ていないか
  • 証明書の期限切れや不一致エラーがないか
  • 想定外のエンドポイントに送っていないか(URL typo)