我是 SP,我无法使用客户端的 IDP 登录到 SP, 我收到以下错误:
SimpleSAML_Error_Error:ACSPARAMS
Backtrace:
1 modules/saml/www/sp/saml2-acs.php:21 (require)
0 www/module.php:135 (N/A)
Caused by: Exception: Unable to find the current binding.
Backtrace:
2 vendor/simplesamlphp/saml2/src/SAML2/Binding.php:99 (SAML2\Binding::getCurrentBinding)
1 modules/saml/www/sp/saml2-acs.php:16 (require)
0 www/module.php:135 (N/A)
我的 authsource.php 配置如下:
'abc-live-sp' => array(
'saml:SP',
'privatekey' => 'saml.pem',
'certificate' => 'saml.crt',
'entityID' => null,
'idp' => 'https://federation-a.parnassiagroep.nl/superbrains',
'discoURL' => null,
'NameIDPolicy' => false,
),
有什么我想念的吗?
帮助将不胜感激。
异常轨迹如下。
最佳答案
在 config.php 中,允许 HTTP POST 请求。这对我有用。
'enable.http_post' => true
此外,我将 ACS URL 绑定(bind)限制为 HTTP-POST。这可能没有必要。 'acs.Bindings' => array( 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST').
我仍然不知道为什么元数据中的 ACS URL 和其他 URL 以 HTTP 链接的形式出现,配置文件中的所有链接都是 HTTPS。
关于php - simpleSAMLphp:无法找到当前绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53513019/