use*_*172 2 saml single-sign-on simplesamlphp
在使用 simplesamlphp 作为服务提供者成功接收 SAML 2.0 令牌后,我收到以下错误。
Oct 21 17:30:15 simplesamlphp DEBUG [6b6e3c270f] GenerateGroups - attribute 'eduPersonAffiliation' not found.
Oct 21 17:30:15 simplesamlphp DEBUG [6b6e3c270f] Session: doLogin("default-sp")
Oct 21 17:30:15 simplesamlphp WARNING [6b6e3c270f] Unable to find the SAML 2 binding used for this request.
Oct 21 17:30:15 simplesamlphp WARNING [6b6e3c270f] Request method: 'GET'
Oct 21 17:30:15 simplesamlphp ERROR [6b6e3c270f] SimpleSAML_Error_Error: UNHANDLEDEXCEPTION
Oct 21 17:30:15 simplesamlphp ERROR [6b6e3c270f] Backtrace:
Oct 21 17:30:15 simplesamlphp ERROR [6b6e3c270f] 0 /var/www/simplesamlphp/www/module.php:180 (N/A)
Oct 21 17:30:15 simplesamlphp ERROR [6b6e3c270f] Caused by: Exception: Unable to find the current binding.
Oct 21 17:30:15 simplesamlphp ERROR [6b6e3c270f] Backtrace:
Oct 21 17:30:15 simplesamlphp ERROR [6b6e3c270f] 2 /var/www/simplesamlphp/lib/SAML2/Binding.php:95 (SAML2_Binding::getCurrentBinding)
Oct 21 17:30:15 simplesamlphp ERROR [6b6e3c270f] 1 /var/www/simplesamlphp/modules/saml/www/sp/saml2-acs.php:11 (require)
Oct 21 17:30:15 simplesamlphp ERROR [6b6e3c270f] 0 /var/www/simplesamlphp/www/module.php:135 (N/A)
Oct 21 17:30:15 simplesamlphp ERROR [6b6e3c270f] Error report with id bd213fb5 generated.
Run Code Online (Sandbox Code Playgroud)
我的 SP 是这样设置的:
**authsources.php**
'default-sp' => array(
'saml:SP',
'entityID' => NULL,
'idp' => NULL,
'discoURL' => NULL,
'RelayState' => '{link to my application}',
'acs.Bindings' => array(
'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
'urn:oasis:names:tc:SAML:1.0:profiles:browser-post',
),
),
Run Code Online (Sandbox Code Playgroud)
saml20-idp-remote.php
$metadata['https://{idp entity id}'] = array(
'metadata-set' => 'saml20-idp-remote',
'entityid' => 'https://{idp entity id}',
'name' => array(
'en' => 'IDP Name',
'no' => 'IDP name',
),
'description' => 'IDP desc',
'SingleSignOnService' =>
array (
0 =>
array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
'Location' => '{SSO url}',
),
1 =>
array(
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact',
'Location' => '{SSO url}',
),
),
'SingleLogoutService' => '{SLO url}',
'certFingerprint' => '{the fingerprint}',
);
Run Code Online (Sandbox Code Playgroud)
我对单点登录很陌生。为了保密,我也隐藏了 url,但我不确定我是否遗漏了什么或导致抛出此错误的原因。如果有人能帮助我指出正确的方向,我将不胜感激。我还应该提到我正在尝试使用https://drupal.org/project/simplesamlphp_auth来连接到我的应用程序。
这是 IDP 的第一流。我使用 mysql 来存储会话。
" Unable to find the current binding." 的意思是,当前绑定无法确定。您的 saml20-idp-remote.php 提到了 HTTP-POST 绑定,并且您的日志提到了Request method: 'GET',因此在发布到https://…/module.php/saml/sp/saml2-acs.php/default-sp.
我只是在这里胡乱猜测,但根据我的经验,最常见的原因是重定向 Web 服务器。也许您重定向到不同的主机名?你强制使用HTTPS吗?在 IdP 上检查AssertionConsumerService的 URL是否正确 - 它们应该直接指向 SimpleSamlPhp 而无需任何重定向。
| 归档时间: |
|
| 查看次数: |
17221 次 |
| 最近记录: |