嘿,
我在验证用户在Android客户端登录谷歌时遇到问题,服务器端是Laravel,另一方面,当用户登录时,它给我一个我必须向Google验证的令牌,
我使用Socialite包,我不知道我必须如何从令牌获取用户,它有一个名为getUserFromToken
的方法,但它发生了很多错误,
我必须从谷歌控制台使用哪些凭据OAuth?我只是使用Web应用程序凭据,但没有答案!
代码是这样的:
$user = \Laravel\Socialite\Facades\Socialite::driver('google')->userFromToken($googleAuthCode);
dd($user);
和错误是:
客户端错误:
GET https://www.googleapis.com/userinfo/v2/me?prettyPrint=false
导致401 Unauthorized
响应:{“error”:{“code”:401,“message”:“请求缺少必需的身份验证凭据。预期OAuth 2(截断...)
我必须添加什么请求?!
谢谢
所以,搜索后我找到了解决方案!
只需在请求中添加code
参数并发送从Android提供的授权代码并发送到此方法:
$parameters = ['access_type' => 'offline'];
$driver = Socialite::driver('google')->with($parameters);
$user = $driver->stateless()->user()
只是!它给你的用户!