Laravel 5.5集成Google登录遇Client error(403 Forbidden)问题求助
嘿,我之前也踩过这个坑!你遇到的这个403错误,核心原因就是Google Cloud那边的项目配置没跟上,尤其是API启用和项目匹配的问题,咱们一步步来捋:
先搞清楚错误根源
你看到的错误提示里accessNotConfigured和Project 983930379932 is not found,说明两个问题:要么这个项目ID对应的Google Cloud项目不存在,要么项目里的必要API没启用。
第一步:核对Google Cloud项目信息
- 登录Google Cloud控制台,直接搜索错误里的项目ID
983930379932,确认这个项目是不是真的存在。如果找不到,那你得要么创建对应项目,要么检查Laravel配置里的客户端ID是不是写错了。 - 打开项目根目录的
.env文件,核对GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET、GOOGLE_REDIRECT这三个参数,必须和Google Cloud控制台里OAuth 2.0客户端的信息完全一致,半点儿拼写错误都不能有!
第二步:启用必要的Google API
错误里请求的是旧版的Google+ API,但现在这个API已经废弃了,Socialite实际需要调用的是People API:
- 在Google Cloud控制台的「API库」里搜索People API,找到后点击启用。
- 顺带也要确认Google Identity OAuth 2.0 API已经启用,这个是登录授权的基础,没它肯定不行。
第三步:检查OAuth同意屏幕和客户端配置
- 进入「API和服务」→「OAuth同意屏幕」,确保你已经完成了基础配置,添加了
profile、email这类必要的权限范围。如果是本地测试,别忘了把你的测试邮箱加到「测试用户」列表里,不然会被Google拦截。 - 检查OAuth客户端的类型:本地开发选「Web应用」就对了,而且重定向URI必须和Laravel里的
GOOGLE_REDIRECT完全一致,比如http://localhost:8000/login/google/callback,连端口号都不能错!
第四步:清理缓存再测试
- 回到Laravel项目,跑个命令清掉配置缓存:
php artisan config:clear,避免旧的配置残留搞事情。 - 重启你的本地服务器,再试一次Google登录,应该就能正常跳转了。
要是你用的Socialite版本比较老,也可以考虑更新到最新版,新版本已经完全适配了Google的新API,不会再调用废弃的Google+接口。
内容的提问来源于stack exchange,提问作者Wathsara Wishwantha Daluwatta
相关产品推荐
相关产品推荐

