simplesamlphp (1.10.0) セッションを認証するために WSO2 Identity Server (4.0.0) を取得しようとしています。
WSO2 IS ホストは @ https://sim2:9443/
# IdP サーバーを実行しています。
simplesamlphp スクリプトが実行されています @ http://dellperf1/simplesaml/
# SP として構成されています
構成
WSO2 側では、発行者を次のように構成しました。
configure -> User and Roles の下の "Add User" を使用し、WSO2 IS ホームページの "Sign Up" 機能の両方を使用して、いくつかのユーザーを構成しました。
私は次のように simplesamlphp を設定しました -
config/authsources.php
entityID は、WSO2 構成の「Issuer」と一致します。これは私の会社名なので、隠しています。
14 // An authentication source which can authenticate against both SAML 2.0
15 // and Shibboleth 1.3 IdPs.
16 'default-sp' => array(
17 'saml:SP',
18
19 // The entity ID of this SP.
20 // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.
21 'entityID' => '$ISSUER HIDDEN',
22
23 // The entity ID of the IdP this should SP should contact.
24 // Can be NULL/unset, in which case the user will be shown a list of available IdPs.
25 // 'idp' => NULL,
26
27 // The URL to the discovery service.
28 // Can be NULL/unset, in which case a builtin discovery service will be used.
29 // 'discoURL' => NULL,
30 'privatekey' => 'saml.pem',
31 'certificate' => 'saml.crt',
32 ),
メタデータ/saml20-idp-remote.php
93 /*
94 * $MY IdP
95 */
96
97 $metadata['https://sim2.FQDN:9443'] = array(
98 'name' => array(
99 'en' => '$company IdP test server',
100 ),
101 'description' => 'WSO2 ID Server',
102 'SingleSignOnService' => 'https://sim2:9443/samlsso',
103 'SingleLogoutService' => 'https://sim2:9443/samlsso',
104 //'certFingerprint' => '04b3b08bce004c27458b3e85b125273e67ef062b'
105 'certFingerprint' => '6bf8e136eb36d4a56ea05c7ae4b9a45b63bf975d'
106
107 );
にアクセスするたびにhttp://dellperf1/simplesaml/
、[認証] タブ -> [認証ソースのテスト] -> [default-sp] を選択し、[$company IdP テスト サーバー] を選択すると、wso2 サーバーに正しくリダイレクトされ、[SAML 2.0 ベースのシングル サインオン] ページが表示されます。 .
これは私が問題にぶつかったところです。ユーザーの追加またはサインアップを使用して、作成したユーザーを使用して認証できないようです。
Carbon ログでは次の情報しか得られません。
[2013-01-29 11:36:57,269] WARN {org.wso2.carbon.identity.sso.saml.processors.AuthnRequestProcessor} - Authentication Failure, invalid username or password.
ユーザーはデフォルトのプロファイルに含まれており、ロールとして次のように構成されています: "identity,everyone"。
(デフォルトの) admin:admin パスワードを使用してログインしようとすると、認証できるように見えますが、simplesamlphp は例外をスローします。
SimpleSAML_Error_Error: UNHANDLEDEXCEPTION
Backtrace:
0 /var/simplesamlphp/www/module.php:180 (N/A)
Caused by: Exception: Unable to find the current binding.
Backtrace:
2 /var/simplesamlphp/lib/SAML2/Binding.php:95 (SAML2_Binding::getCurrentBinding)
1 /var/simplesamlphp/modules/saml/www/sp/saml2-acs.php:11 (require)
0 /var/simplesamlphp/www/module.php:135 (N/A)
ここで2つの問題にぶつかっていると思います:
1) 作成しているユーザーは SAML を使用して認証できませんが、管理者ユーザーは認証できます。これはなぜでしょうか?プロファイルまたはポリシーの問題?
2) 管理者以外に作成したユーザーで認証できたとしても、同じ Binding バックトレースを取得できますか?
2012 年 12 月の wso メーリング リストで、拘束力のある WSO2 IS サポートに関するトラフィックを見てきました。
simplesamlphp と WSO2 IS が現在うまく連携しない場合、WSO2 クラウドの誰かが、IS に対して SAML-2.0 をテストするための簡単な方法を提案できますか?