我试图让WSO2 Identity Server(4.0.0)验证simplesamlphp(1.10.0)会话 .
WSO2 IS主机正在运行@ https://sim2:9443/
#IdP服务器 .
simplesamlphp脚本正在运行@ http://dellperf1/simplesaml/
#配置为SP
Configuration
在WSO2端,我已按如下方式配置了颁发者:
我已经配置了一些用户,既可以使用配置 - >用户和角色下的“添加用户”,也可以使用WSO2 IS主页上的“注册”功能 .
我已经配置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 ),
metadata/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/
时,选择Authentication选项卡 - > Test Authentication sources - > default-sp并选择"$company IdP test server",我被正确地重定向到wso2服务器并显示"SAML 2.0 based Single Sign-On"页面 .
这是我遇到问题的地方 . 我似乎无法使用我创建的任何用户进行身份验证,无论是使用“添加用户”还是“注册” .
我只在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)
我想我在这里遇到两个问题:
1)我创建的用户无法使用SAML进行身份验证 - 而admin用户可以 . 为什么会这样? Profiles 或政策问题?
2)即使我可以使用我创建的用户进行身份验证,除了admin之外,我是否会获得相同的Binding回溯?
我已经看到2012年12月围绕WSO2 IS绑定支持的wso邮件列表上的一些流量 - 我在这里打一场失败的战斗吗?
如果simplesamlphp和WSO2 IS目前不能很好地协同工作,那么来自WSO2群体的人是否可以提出一种简单的方法来测试SAML-2.0对抗他们的IS?
1 回答
如果用户无法登录,则表示您尚未为该用户配置登录权限...请为“everyrole”分配登录权限并检查..
我猜我的一个朋友已经尝试过将simplesamlphp与WSO2身份服务器集成,请查找他从那里写过的博客文章[1] . 我猜这会对你有所帮助 .
[1] http://blog.facilelogin.com/2013/06/wso2-identity-server-saml2-idp-with.html