首页 文章

WSO2 IS和simplesamlphp

提问于
浏览
0

我试图让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 Issuer Configuration

我已经配置了一些用户,既可以使用配置 - >用户和角色下的“添加用户”,也可以使用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 回答

  • 1

    如果用户无法登录,则表示您尚未为该用户配置登录权限...请为“everyrole”分配登录权限并检查..

    我猜我的一个朋友已经尝试过将simplesamlphp与WSO2身份服务器集成,请查找他从那里写过的博客文章[1] . 我猜这会对你有所帮助 .

    [1] http://blog.facilelogin.com/2013/06/wso2-identity-server-saml2-idp-with.html

相关问题