使用 Laravel Socialite 令牌登录 Google

Kat*_*u22 7 laravel google-oauth laravel-socialite

嘿,

我在 Android 客户端上验证使用 Google 登录的用户时遇到问题,服务器端是 Laravel,在用户登录的另一端,它给了我一个必须向 Google 验证的令牌,

我使用 Socialite 包,我不知道如何从令牌中获取用户,它有一个名为的方法,getUserFromToken但它发生了很多错误,

我必须从 Google 控制台使用哪些 OAuth 凭据?我只是使用 Web 应用程序凭据,但没有答案!

代码是这样的:

$user = \Laravel\Socialite\Facades\Socialite::driver('google')->userFromToken($googleAuthCode);
    dd($user);
Run Code Online (Sandbox Code Playgroud)

错误是:

客户端错误:GET https://www.googleapis.com/userinfo/v2/me?prettyPrint=false导致401 Unauthorized响应:{“错误”:{“代码”:401,“消息”:“请求缺少所需的身份验证凭据。预期的 OAuth 2(已截断...)

我必须在请求中添加什么?

谢谢

Kat*_*u22 0

所以,经过搜索,我找到了解决方案!

只需code在请求上添加参数并发送 Android 给出的授权代码并发送到此方法:

$parameters = ['access_type' => 'offline'];

$driver = Socialite::driver('google')->with($parameters);
$user = $driver->stateless()->user();
Run Code Online (Sandbox Code Playgroud)

只是!它为您提供了用户!

  • userFromToken 这里在哪里?我正在创建带有谷歌功能登录的移动应用程序。移动应用程序使用 google 登录并将颁发的令牌发送到 laravel API 我需要验证它并登录/注册用户。所以我需要这个 userFromToken 才能工作。 (3认同)