You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

ITop集成谷歌OpenID认证时跳转错误问题求助

ITop集成谷歌OpenID认证时跳转错误问题求助

大家好,我正在给托管的ITop实例配置「谷歌登录」功能,用的是官方的「Authentication with OpenID extension」,目前已经能正常显示“Login with Google”按钮,但账号验证完成后的跳转环节出了问题,想请各位帮忙排查:

已完成的配置操作

1. ITop后台配置修改

我通过ITop界面修改了全局配置文件,添加/调整了以下核心配置项:

'allowed_login_types' => 'form|hybridauth-Google|external|basic|token', // 新增hybridauth-Google作为允许的登录方式
// 其他原有配置...
'combodo-hybridauth' => array (
    'debug' => true,
    'synchronize_user' => true,
    'synchronize_contact' => true,
    'default_organization' => 'my organization name',
    'default_profile' => 'Portal User',
    'portal_enabled' => false,
    'redirect_url' => '/pages/UI.php', // 尝试修复重定向错误的配置
    'providers' => array (
        'Google' => array (
            'enabled' => true,
            'keys' => array (
                'id' => '谷歌控制台获取的Client ID',
                'secret' => '谷歌控制台获取的Client Secret',
            ),
            'scope' => 'email profile',
        ),
        // 其他社交媒体提供商配置(如Twitter、Facebook等)...
    ),
// 其他原有配置...

2. 谷歌云控制台配置

  • 在「已授权的 JavaScript 来源」中添加了 https://test.mydomain(注:test.mydomain是实际域名的占位符)
  • 在「已授权的重定向 URI」中添加了两个地址:
    • https://test.mydomain/env-production/combodo-hybridauth/landing.php
    • https://test.mydomain/pages/UI.php?operation=hybridauth

遇到的具体问题

点击“Login with Google”按钮后,能正常跳转到谷歌账号验证页面,完成账号密码验证后,没有跳转到ITop仪表盘,反而被重定向到了这个错误地址:

https://test.mydomain.com/pages/exec.php?exec_module=itop-portal-base&exec_page=index.php&portal_id=itop-portal

访问该地址后,ITop抛出了关于Symphony框架PreferencesController的错误,但我已经确认服务器上这个控制器文件是实际存在的。

已尝试的无效解决方法

  • 按照AI建议,将配置中的portal_enabled设为false,并指定redirect_url为ITop的UI页面,但问题依旧
  • 重启了运行ITop的Docker容器
  • 清理ITop缓存,执行了命令:
    docker exec ITop rm -rf /var/www/html/data/cache-*
    
  • 用浏览器无痕模式测试,排除本地缓存影响

目前我找不到相关的官方文档说明这个问题,也没搜到其他用户遇到类似情况的案例,实在摸不清哪里配置错了。有没有大佬成功配置过ITop的谷歌登录,或者能帮我指出问题所在?万分感谢!

火山引擎 最新活动