# WPS365 回调地址配置说明 ## 错误信息 如果遇到以下错误: ```json { "code": 40000001, "msg": "invalid_request", "debug": { "desc": "The 'redirect_uri' parameter does not match any of the OAuth 2.0 Client's pre-registered redirect urls." } } ``` **原因**:`redirect_uri` 参数与WPS365开放平台配置的回调地址不一致。 ## 解决方案 ### 1. 检查当前配置的回调地址 查看 `application.yml` 中的配置: ```yaml wps365: redirect-uri: https://jarvis.van333.cn/wps365-callback ``` ### 2. 在WPS365开放平台配置回调地址 1. **登录WPS365开放平台** - 访问:https://open.wps.cn/ - 进入你的应用管理页面 2. **找到"安全设置"或"回调配置"** - 通常在"开发配置" > "安全设置" 或 "事件与回调" 中 3. **配置授权回调地址** - 回调地址必须与配置文件中的 `redirect-uri` **完全一致** - 包括: - ✅ 协议:`https://`(不能是 `http://`) - ✅ 域名:`jarvis.van333.cn`(不能有 `www` 或其他前缀) - ✅ 路径:`/wps365-callback`(不能有多余的斜杠) - ✅ 端口:如果使用默认端口443,不需要写端口号 4. **正确的配置示例** ``` https://jarvis.van333.cn/wps365-callback ``` 5. **错误的配置示例(会导致错误)** ``` ❌ http://jarvis.van333.cn/wps365-callback (协议错误) ❌ https://www.jarvis.van333.cn/wps365-callback (域名不一致) ❌ https://jarvis.van333.cn/wps365-callback/ (末尾多斜杠) ❌ https://jarvis.van333.cn:443/wps365-callback (端口号多余) ❌ https://jarvis.van333.cn/jarvis/wps365/oauth/callback (路径不一致) ``` ### 3. 验证回调地址 配置完成后,WPS365平台会发送一个challenge验证请求到你的回调地址。确保: - ✅ 回调接口支持GET和POST请求 - ✅ 能正确处理challenge参数并返回 - ✅ 接口可以正常访问(不被防火墙拦截) ### 4. 常见问题排查 #### 问题1:配置了但验证失败 - 检查回调接口是否支持POST请求 - 检查是否能正确处理challenge参数 - 查看后端日志,确认是否收到challenge请求 #### 问题2:授权时提示redirect_uri不匹配 - 检查WPS365平台配置的回调地址 - 检查配置文件中的redirect-uri - 确保两者完全一致(包括大小写、斜杠等) #### 问题3:回调地址访问失败 - 检查nginx配置是否正确代理 - 检查前端白名单是否已配置 - 检查域名DNS解析是否正常 ### 5. 调试步骤 1. **查看后端日志** ``` 生成授权URL: https://openapi.wps.cn/oauth2/auth?client_id=xxx&redirect_uri=... 使用回调地址: https://jarvis.van333.cn/wps365-callback ``` 2. **复制日志中的回调地址** - 确保WPS365平台配置的地址与日志中的地址完全一致 3. **测试回调地址** - 直接在浏览器访问:`https://jarvis.van333.cn/wps365-callback` - 应该能看到授权页面或提示信息 4. **重新授权** - 修改配置后,重新点击"立即授权" - 如果还是失败,检查WPS365平台的配置 ## 配置检查清单 - [ ] WPS365开放平台已配置回调地址 - [ ] 回调地址与配置文件中的redirect-uri完全一致 - [ ] 回调接口支持GET和POST请求 - [ ] 回调接口能正确处理challenge验证 - [ ] 前端白名单已配置 `/wps365-callback` - [ ] nginx已配置 `/wps365-callback` 路由 - [ ] 域名DNS解析正常 - [ ] SSL证书有效 ## 注意事项 1. **回调地址必须使用HTTPS**(生产环境) 2. **路径不能有末尾斜杠**(除非是根路径) 3. **域名必须完全匹配**(不能有www前缀等) 4. **配置后需要等待几分钟生效**(WPS365平台可能有缓存)