我有一个运行humhub 1.3.14的本地apache2服务器。我的目标是将位于我的牧场主群集上的Keycloak设置为humhub的身份验证提供程序。
选择“ keycloak OpenId Connect”后,用户已成功重定向到keycloak服务器。用户通过身份验证后,密钥斗篷将重定向回我的本地humhub服务器。那里有humbhub抱怨:“无法验证JWS:不安全的连接”。为了验证JWS,humhub使用yii2-authclient / src / OpenIdConnect.php,它需要“ spomky-labs / jose:〜5.0.6”(已被放弃,但yii2仍在使用它)。
在humhub / protected / vendor / yiisoft / yii2-authclient / src / OpenIdConnect.php设置中$validateJws = false
不执行任何操作。
humhub / protected / config / common.php:return [
'params' => [
'enablePjax' => false
],
'components' => [
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => false,
],
'authClientCollection' => [
'class' => 'yii\authclient\Collection',
'clients' => [
'keycloak' => [
'class' => 'yii\authclient\OpenIdConnect',
'issuerUrl' => 'https://xxxx/auth/realms/humhub',
'clientId' => 'humhub',
'clientSecret' => 'xxxxxxx',
'name' => 'keycloak',
'title' => 'Keycloak OpenID Connect',
'tokenUrl' => 'https://xxxx/auth/realms/humhub/protocol/openid-connect/token',
'authUrl' => 'https://xxxx/auth/realms/humhub/protocol/openid-connect/auth',
'validateAuthState' => 'false',
'validateJws' => 'false',
],
],
]
]
];
有人可以帮忙吗?需要更多信息吗?
UPDATE
将"spomky-labs/jose"更新为"spomky-labs/jose:~6.1.0"后,humbhub的响应更改为:“无法验证JWS:提供的扇区标识符URI无效:scheme必须是以下之一:[“ https”]。
UPDATE
我也在运行humhub的本地apache2服务器上也启用了https。由于当前humhub版本1.3.14的兼容性问题,我还将spomky-labs / jose降级至5.0.6版本。此后,JWS错误似乎已修复,但是又出现了新错误:
难道是由JWS中的内容类型引起的,它不是“ application / json”而是“”(空)?如果是这样,如何解决?