1

ローカルのコンピューターにSimpleSAMLPHPをインストールするので、2 つの仮想ホストを構築します。

<VirtualHost auth.saml.net>
    ServerAdmin toto@gmail.com
    ServerName  auth.saml.net
    AddDefaultCharset UTF-8
    Alias /simplesaml c:/wamp/www/Idp/simplesamlphp/www/    
    <Directory c:/wamp/www/Idp/simplesamlphp/www/   >
        Order Deny,Allow   
        Allow from all 
    </Directory>
</VirtualHost>

<VirtualHost client.saml.net>
    ServerAdmin toto@gmail.com
    ServerName  client.saml.net
    AddDefaultCharset UTF-8
    Alias /simplesaml c:/wamp/www/Sp/simplesamlphp/www/
    <Directory c:/wamp/www/Sp/simplesamlphp/www/    >
        Order Deny,Allow   
        Allow from all 
    </Directory>
</VirtualHost>

1 つ目は ID プロバイダー用で、2 つ目はサービス プロバイダー用です。

しかし、この方法で ID プロバイダーに接続しようとすると:

require_once('../../Sp/simplesamlphp/lib/_autoload.php');
$authService = new SimpleSAML_Auth_Simple("default-sp");
$authService->requireAuth();

私はこのエラーがあります:

SimpleSAML_Error_NoState: NOSTATE
Backtrace:
2 C:\wamp\www\Sp\simplesamlphp\lib\SimpleSAML\Auth\State.php:225 (SimpleSAML_Auth_State::loadState)
1 C:\wamp\www\Sp\simplesamlphp\modules\saml\www\sp\saml2-acs.php:63 (require)
0 C:\wamp\www\Sp\simplesamlphp\www\module.php:134 (N/A)

その場合、ファイル config/config.php を置き換える必要があることをいくつかのフォーラムで見ています。

'store.type'                    => 'phpsession',

に :

'store.type'                    => 'sql',

そのため、サービス プロバイダーと ID プロバイダーのファイルを次のように置き換えます。

'store.type'                    => 'sql',

'store.sql.dsn'                 => 'mysql:host=localhost;dbname=test',

 'store.sql.username' => 'root',
 'store.sql.password' => '',

 'store.sql.prefix' => 'simpleSAMLphp',

データベースに到着するデータがいくつかありますが、それでも同じエラーが発生します。

奇妙なのは、サービス プロバイダー プラットフォームで ID プロバイダーに直接接続しようとすると、このエラーが発生しないことです。

4

2 に答える 2