サービスプロバイダがhttps://biz.dev.originsystems.co.zaに設定されています。 IdPはhttp://stage.originsystems.co.zaに設定されています。SimpleSAMLphp状態情報が失われる
https://biz.dev.originsystems.co.za/simplesaml/module.php/core/authenticate.phpでツールを使用して認証をテストすると、すべて正常に動作します。必要な属性を持つDevサイトに戻ってきます。すべてが幸せで楽しいものです。
https://biz.dev.originsystems.co.zaのIdPに実際にアクセスしようとすると、ステージのログインページにリダイレクトされますが、ログイン後に「状態情報が失われました」というエラーが表示されます。
SimpleSAML_Error_NoState: NOSTATE
Backtrace:
2 /webdevroot/Updraft/web/external/System/SSO/simplesaml/lib/SimpleSAML/Auth/State.php:225 (SimpleSAML_Auth_State::loadState)
1 /webdevroot/Updraft/web/external/System/SSO/simplesaml/modules/saml/www/sp/saml2-acs.php:63 (require)
0 /webdevroot/Updraft/web/external/System/SSO/simplesaml/www/module.php:134 (N/A)
私はすべてのトラブルシューティングを実行しましたが、状況は変わりません。
ブラウザに開発ツールを開いて、Cookie情報を監視しました。 biz.dev.originsystems.co.zaのクッキーにはSimpleAMLAuthTokenが含まれているので、クッキーが機能しているとわかります。私はIdPのを打つために使用しているコードは次のとおりです。
$as = new SimpleSAML_Auth_Simple("stage-sso-sp");
$as->requireAuth();
$attributes = $as->getAttributes();
print_r($attributes);
はUPDATE:
ここではいくつかのより多くの情報があります...
私はこの問題は、私が設定する方法とあったかどうかを確認したかったですIdPので、IdPのためにSSO Circleを使い始めました。状態情報は、SSOサークルの認証後も失われます。私はそれがSimpleSAMLのための私のサービスプロバイダの設定のどこかに問題があることを意味すると思います。ここで私はhttps://biz.stage.originsystems.co.za/simplesamlでSimpleSAMLテスト認証ソースページに行くとき
私は... SimpleSAMLAuthToken除く
Name Value
SimpleSAMLAuthToken _a53569c0701dd02832532df14cf10cd0b2d9fcd6b6
biz.stage.originsystems.co.za 10fc356e0bfbf707af5fa5854c378755
ccof RGN002
xbrF 84aadc624fc51c0c9340d45645c08643
すべては私たちのアプリケーションから次のCookie値できたとすべきではない...何が起こっているのですSimpleSAMLに影響します。 SSOサークルにリダイレクトされ、認証されたらSimpleSAMLページに戻り、認証トークンの値が_39679e07cb1911e08b2bff3580a9929faddd07e9b6
になり、すべての関連情報が正しく返されます。ログファイルには、以下のアクティビティが表示されます。
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Received SAML2 Response from 'http://idp.ssocircle.com'.
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] No certificate in message when validating against fingerprint.
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Found 1 certificates in SAML2_Assertion
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Has 1 candidate keys for validation.
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Validation with key #0 succeeded.
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Filter config for http://idp.ssocircle.com->https://biz.stage.originsystems.co.za/simplesaml/module.php/saml/sp/metadata.php/default-sp: array ( 0 => sspmod_core_Auth_Process_LanguageAdaptor::__set_state(array( 'langattr' => 'preferredLanguage', 'priority' => 90, )),)
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Deleting state: '_742b094314383407864f56bccc6afd7de3dcb3211e'
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Session: doLogin("default-sp")
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Session: Valid session found with 'default-sp'.
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Session: Valid session found with 'default-sp'.
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/dictionaries/status]
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/dictionaries/attributes]
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/modules/core/dictionaries/frontpage]
私はhttps://biz.stage.originsystems.co.za?ccof=RGN002に行けば、私はその後、認証SSOサークルにあることを期待して、私がリダイレクトしています。現時点では、Autth Tokenの値は_39679e07cb1911e08b2bff3580a9929faddd07e9b6
です。私が認証されるとSimpleSAMLのエラーページ "状態情報が失われました"に送られ、認証トークンはまだ_39679e07cb1911e08b2bff3580a9929faddd07e9b6
です。
ログを読み込む...
Feb 02 13:08:31 simplesamlphp DEBUG [8abc64dd04] Loading state: '_498e7d4d75bb7716e5e8cf905e0da5ef1c40cf1b3f'
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] SimpleSAML_Error_NoState: NOSTATE
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] Backtrace:
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] 2 /OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/lib/SimpleSAML/Auth/State.php:225 (SimpleSAML_Auth_State::loadState)
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] 1 /OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/modules/saml/www/sp/saml2-acs.php:63 (require)
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] 0 /OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/www/module.php:134 (N/A)
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] Error report with id dfbb52b0 generated.
Feb 02 13:08:31 simplesamlphp DEBUG [8abc64dd04] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/dictionaries/errors]
Feb 02 13:08:31 simplesamlphp DEBUG [8abc64dd04] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/modules/core/dictionaries/no_state]
それは認証トークンが_498e7d4d75bb7716e5e8cf905e0da5ef1c40cf1b3f
あるべきかのように私には見えますが、何らかの理由ではありません。 SimpleSAMLはそのトークンを見つけることができないので、古いものを削除せずに新しいトークンを作成します。たぶん私はそれについて間違っています。私は完全に訂正するつもりです。私の問題は、これを引き起こしていることがわからないということです。設定ファイルのcookie.nameを "biz.stage.originsystems.co.za"に設定しましたが、SimpleSAMLコントロールパネルで正常に動作しているようですが、実際のアプリケーションからSPを使用すると機能しません。誰かがここに正しい方向に向けることができますか?道に迷いました。
生成されたID /トークンが何らかの形で問題を引き起こしています。このエラーを生成する主な理由は次の3つです。1.ドメイン名の変更たとえば、www.example.com上をホッピングしているexample.com上にHTTPSからHTTPSまたはHTTPSからHTTPへのジャンプ、3.セッションが適切に保存されていないこと、さらに詳しくは[こちら](https://simplesamlphp.org/docs/development)をご覧ください。/simplesamlphp-nostate#section_3) –
Multi Thinker:優れた反応です。賞金を得ることができるように、回答として投稿する必要があります。それがあなたのためにうまくいかない場合、Andrew、あなたのSPとIDP設定用のメタデータを投稿してもよろしいですか? –
メタデータを見ることなく、特定の回答を与えるのは難しいですが、FirefoxにはSaml Tracerというアドオンがあります(https://addons.mozilla.org/en-US/firefox/addon/)。 saml-tracer /)は、SSOの問題をデバッグする際に私が常時使っていたものです。デバッグステートメントに依存することなく、前後に送信されている値を追跡するのに役立ちます。 – mounty