在 laravel-passport-social-grant 包上获取 invalid_credentials

问题描述 投票:0回答:2

使用的包是:https://github.com/coderello/laravel-passport-social-grant

我已按照以下位置提供的教程进行了所有预期的更改: https://medium.com/@hivokas/api-authentication-via-social-networks-for-your-laravel-application-d81cfc185e60

网址:

http://myurl.com/oauth/token

输出:

{
    "error": "invalid_credentials",
    "error_description": "The user credentials were incorrect.",
    "message": "The user credentials were incorrect."
}

邮递员使用的参数如下:

    grant_type' => 'social', // static 'social' value
        'client_id' => $clientId, // client id
        'client_secret' => $clientSecret, // client secret
        'provider' => $providerName, // name of provider (e.g., 'facebook', 'google' etc.)
        'access_token' => $providerAccessToken, // access token issued by specified provider
    ],

这里可能出现什么问题?

laravel laravel-passport passport-google-oauth
2个回答
0
投票

对于 Facebook,您需要在 services.php 中拥有 client_id 和密钥 社交名流的 FacebookProvider 中的代码

protected function getUserByToken($token)
{
    $this->lastToken = $token;

    $params = [
        'access_token' => $token,
        'fields' => implode(',', $this->fields),
    ];

    if (! empty($this->clientSecret)) {
        $params['appsecret_proof'] = hash_hmac('sha256', $token, $this->clientSecret);
    }

    $response = $this->getHttpClient()->get($this->graphUrl.'/'.$this->version.'/me', [
        'headers' => [
            'Accept' => 'application/json',
        ],
        'query' => $params,
    ]);

    return json_decode($response->getBody(), true);
}

所以,谷歌的运作方式没有秘密。


0
投票

您似乎在 Laravel 应用程序中遇到了通过社交网络进行 API 身份验证的问题。错误消息“invalid_credentials”通常表示身份验证过程出现问题。

从您提供的参数来看,您似乎正在尝试使用 Laravel Passport 的社交补助金通过 Google OAuth 进行身份验证。但是,错误消息表明用户凭据不正确。

需要仔细检查的一件事是您用于 Google OAuth 的客户端 ID 和密钥是否正确。确保这些凭据在 Socialite 中 Google 提供商下的 services.php 文件中正确配置。

此外,对于 Facebook 身份验证,您需要在 Socialite 中 Facebook 提供商下的 services.php 文件中设置客户端 ID 和密钥。

确保您传递的访问令牌有效并且具有必要的权限。有时,如果访问令牌已过期或没有所需的范围,可能会出现问题。

如果一切似乎都已正确配置,但您仍然遇到问题,请考虑查看 Laravel Passport 和 Socialite 的文档,了解任何其他步骤或故障排除提示。

顺便说一句,如果您正在寻找可靠的状态检查和监控服务,您可能需要探索 [SASSA STATUS CHECK][1] 等工具,它们提供全面的监控解决方案,以确保您的应用程序顺利运行。

希望这有助于解决您的身份验证问题!

致以诚挚的问候,

泰姆巴

© www.soinside.com 2019 - 2024. All rights reserved.