0

ユーザーのオンボーディング用のフォームを表示する単純な php アプリケーションがあります。SP として SimpleSamlPhp を使用し、IDP として OKTA を使用しました。アプリケーションの URL にアクセスすると、無限リダイレクトが発生します。これらはOKTAでの私の設定です:

私のアプリケーションの URL はhttp://service.example.com/Analytics/ui/onboard.phpです。PostBack url、destination、recipient、Audience Restriction に同じ url が設定されています SP 側では、次のコードがあります。

require_once('/Applications/XAMPP/xamppfiles/htdocs/simplesamlphp/lib/_autoload.php'); $as = new SimpleSAML_Auth_Simple('default-sp'); $as->requireAuth();

私が見逃しているものはありますか?

4

1 に答える 1

0

紛らわしいですね、わかります。必要なのは、アプリケーションの SAML 構成に特別な SimpleSAMLphp URL を使用することです。

特に、Okta で使用する URL は、特定の SimpleSAMLphp URL を指す必要があります。

Okta で SimpleSAMLphp を構成する方法のスクリーンショットを次に示します。 Okta の SAML 設定ページのスクリーンショット

この例では、「シングル サインオン URL」simplesamlphp/www/module.php/saml/sp/saml2-acs.php/exampleの URL は で終わり、「オーディエンス URI (SP エンティティ ID)」の URL は で終わりますsimplesamlphp/www/module.php/saml/sp/metadata.php/example。これらの URL は、SimpleSAMLphp を Web サーバーにインストールした場所に固有のものです。

これらの URL はどちらも SimpleSAMLphp エンドポイントを指してsaml2-acs.phpおり、一方が を指し、もう一方が を指していることを除いて、ほぼ同じ URL であることに注意してくださいmetadata.php。これらの両方の例で、文字列 "example" は、config/authsources.phpファイル内で SAML IdP を構成するために使用した文字列を参照するものであり、拡張子はmetadata/saml20-idp-remote.phpファイルです。

「Default RelayState」フィールドは、PHPコード (SimpleSAMLphp を含む、作成したファイル) の URL を入力する場所です。これは、http://service.example.com/Analytics/ui/onboard.phpURL を配置する場所です。

SimpleSAMLphp の構成

config/authsources.phpSimpleSAMLphp のおよびファイルに構成を追加するのmetadata/saml20-idp-remote.phpは非常に複雑であることがわかったので、その構成を少し簡単にするコードを書きました。このコードとその使用手順は、 https ://github.com/jpf/okta-simplesamlphp-example の GitHub で入手できます。

于 2015-04-29T23:21:19.910 に答える