Closed3

NestJSでSSO,saml認証を実装する

jlmn1026jlmn1026

上記記事内では、APIサーバにGETでアクセスする流れになっているが、SPAでフロントを構築する上ではAPIの結果を受け取ってから、フロントエンドの処理で認証基盤へリダイレクトしたいと思った。

そのように実装したところ、自サービスからSSOの認証基盤サービスにリダイレクトする際にCORSで蹴られる事象が発生。

https://rinoguchi.net/2019/05/302-redirect-cors.html

NestJS、passport-samlではリダイレクト以外で処理する方法はないようなので、最初の記事通りの実装となった。

jlmn1026jlmn1026

passport-samlでエラーになったりならなかったりする
頻度としては50回に1回くらいか?別の開発者は5回に1回発生していたらしい

エラー内容でぐぐっていると以下の記事がヒット

https://stackoverflow.com/questions/57290983/passport-saml-express-redirected-url-not-submitting-form-gives-saml-assertio

デフォルトでは、Idp側から有効な処理時刻の期間が指定され、Sp側はその期間内に認証処理を行わないといけない模様。通信状態によっては難しくなるので、この期間指定自体を無効にしたい場合はacceptedClockSkewMs=-1をコンフィグに追加して対応する

このスクラップは2023/04/27にクローズされました