如何在Google控制台编辑授权重定向URI?解决Laravel谷歌登录报错
解决Laravel Google OAuth线上环境redirect_uri_mismatch问题
我来帮你搞定这个Google登录重定向不匹配的问题,结合你遇到的错误和截图信息,咱们一步步排查解决:
核心问题确认
首先看错误提示里的关键信息:
- That’s an error. Error: redirect_uri_mismatch
Request Details
client_id=xxxxxxx-0fic8dnvcgo672unju9ai619iXXXXXX.apps.googleusercontent.com
redirect_uri=https://laravel.themenepal.com/gharsansar/auth/google/callback
问题根源就是这个redirect_uri没有被添加到Google控制台的授权重定向URI列表里,或者和控制台里的配置不匹配。
第一步:确保.env配置完全正确
打开你的Laravel项目.env文件,检查GOOGLE_REDIRECT的配置,必须和错误里的URL完全一致:
GOOGLE_REDIRECT=https://laravel.themenepal.com/gharsansar/auth/google/callback
⚠️ 注意:不要加多余的斜杠、不要拼写错误,大小写也要完全匹配(比如HTTPS不能写成http)。
第二步:正确更新Google控制台的授权重定向URI
根据你提供的编辑页面截图,按以下步骤操作:
- 在“授权重定向URI”输入框中,粘贴上面的完整URL(每行一个URI,不要用逗号分隔)
- 确认你编辑的是错误提示里对应的客户端ID(就是那个
xxxxxxx-0fic8dnvcgo672unju9ai619iXXXXXX.apps.googleusercontent.com对应的客户端条目) - 一定要点击页面底部的保存按钮!很多人会忽略这一步,导致配置没生效
第三步:清除Laravel配置缓存(线上环境必做)
线上环境Laravel会缓存配置文件,修改.env后需要清除缓存才能生效:
php artisan config:clear php artisan config:cache
常见坑点排查
- 不要只改.env却忘了同步Google控制台:两者的URI必须完全一模一样,差一个字符都会报错
- 确认域名是HTTPS:Google OAuth要求线上重定向URI必须使用HTTPS,你的URL已经满足,这部分没问题
- 检查路由是否匹配:Laravel里的Google回调路由(通常是
Route::get('auth/google/callback', [GoogleController::class, 'callback']))要确保和URL里的路径/gharsansar/auth/google/callback一致,注意子目录/gharsansar/的配置
如果还是无法保存URI的话
- 检查账号权限:你必须是Google控制台对应项目的所有者或编辑者,才能修改OAuth客户端配置
- 刷新页面重试:有时候Google控制台会有缓存,刷新页面后重新粘贴URI再保存
- 检查URI格式:必须是完整的
https://开头的绝对路径,不能用相对路径(比如/auth/google/callback是不行的)
内容的提问来源于stack exchange,提问作者Purushotam Sangroula
相关产品推荐
相关产品推荐

