URL中包含特殊字符导Bad Request!

2024-05-10 22:54:19
辛乃军
  • 访问次数: 6
  • 注册日期: 2023-11-23
  • 最后登录: 2024-05-14
  • 我的积分: 70
  • 门派等级: 无门派

最近尝试开发一款基于OpenID协议的SSO登录插件,已成功调起登录服务器验证账号成功。但在跳回禅道页面时由于URL中包含特殊字符,导致显示Bad Request!错误。

跳转地址示例为:


已在config/ext/oidc.php中设置:

$filter->oidc = new stdclass();
$filter->oidc->login = new stdclass();
$filter->oidc->login->get['state'] = 'reg::any';
$filter->oidc->login->get['session_state'] = 'reg::any';
$filter->oidc->login->get['iss'] = 'reg::any';
$filter->oidc->login->get['code'] = 'reg::any';


config/my.php中设置:

$config->requestType = 'GET';


沙发
2024-05-11 08:59:38
王林
  • 访问次数: 4467
  • 注册日期: 2017-06-20
  • 最后登录: 2024-05-24
  • 我的积分: 20499
  • 门派等级: 无门派

咱们可以看下地址在传输过程中在哪里是否被转译了

可以在url传给禅道时候encode一下再试试呢

另外,方便的话可以添加下页面上方QQ,邀请进二次开发群沟通下问题。

板凳
2024-05-13 18:30:44
辛乃军
  • 访问次数: 6
  • 注册日期: 2023-11-23
  • 最后登录: 2024-05-14
  • 我的积分: 70
  • 门派等级: 无门派

找到方法,用以下设置就可以了:

$filter->oidc = new stdclass();
$filter->oidc->login = new stdclass();
$filter->oidc->login->paramValue['scope'] = 'reg::any';


#3
2024-05-14 09:01:59
王林
  • 访问次数: 4467
  • 注册日期: 2017-06-20
  • 最后登录: 2024-05-24
  • 我的积分: 20499
  • 门派等级: 无门派
问题解决就好
1/1 1