【问题标题】:WSO2 IS and simplesamlphpWSO2 IS 和 simplesamlphp
【发布时间】:2013-01-29 11:47:01
【问题描述】:

我正在尝试让 WSO2 身份服务器 (4.0.0) 对 simplesamlphp (1.10.0) 会话进行身份验证。

WSO2 IS 主机正在运行@https://sim2:9443/#IdP 服务器。

simplesamlphp 脚本正在运行 @http://dellperf1/simplesaml/ # 配置为 SP

配置

在 WSO2 端,我配置了一个 Issuer,如下:

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         ),

元数据/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)

我想我在这里遇到了两个问题:

1) 我创建的用户无法使用 SAML 进行身份验证 - 而管理员用户可以。为什么会这样?个人资料或政策问题?

2) 即使我可以使用我创建的用户进行身份验证,而不是管理员,我会得到相同的绑定回溯吗?

我在 2012 年 12 月的 WSO 邮件列表上看到了一些关于绑定 WSO2 IS 支持的流量 - 我在这里打一场失败的战斗吗?

如果 simplesamlphp 和 WSO2 IS 目前不能很好地配合使用,WSO2 人群中的某个人能否建议一种简单的方法来针对他们的 IS 测试 SAML-2.0?

【问题讨论】:

    标签: php wso2 saml-2.0 wso2is


    【解决方案1】:

    如果用户无法登录,说明你没有为该用户配置登录权限...请给“everyrole”分配登录权限并检查..

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

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

    【讨论】:

      猜你喜欢
      • 2016-12-26
      • 1970-01-01
      • 2020-03-10
      • 1970-01-01
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多