漏洞总结 漏洞概述 该问题涉及在自托管 GitLab 实例上使用 Draw.io 时出现的授权失败问题。用户尝试将 Draw.io 与私有 GitLab 存储集成时,遇到 "Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method" 错误。 影响范围 使用自托管 GitLab 实例的用户 尝试将 Draw.io 与私有 GitLab 集成的场景 涉及 GitLab OAuth 应用配置和授权流程 修复方案 1. URL 参数编码:确保 URL 参数正确编码,如 参数 2. CSP 配置:对于 Draw.io 13.1.7+ 版本,需要配置 Content Security Policy (CSP) 以允许跨域请求 3. Docker 环境变量:通过设置 环境变量来定义自定义域名单 POC 代码 相关配置 在 GitLab 中创建 OAuth 应用时,需要设置正确的回调 URL 授权范围应包括: , , 回调 URL 格式: