Twitter 提供商,不会将我重定向到回调

Twitter Provider, doesn't redirect me into the Callback

Facebook、LinkedIn、Google、GitHub、GitLab、Bitbucket 和许多其他公司都支持 OAuth2 以进行基于用户的身份验证。但是 Twitter 仍然只使用 Oauth1。

if ($provider === "twitter") {
   return Socialite::driver($provider)
    ->userFromTokenAndSecret(
     env("TWITTER_ACCESS_TOKEN"),
     env("TWITTER_ACCESS_TOKEN_SECRET")
    )
    ->redirect();

运行进入这个问题:

Symfony\Component\Debug\Exception\FatalThrowableError
Call to undefined method Laravel\Socialite\One\User::redirect()

我想被重定向到回调中:

https://example.com/api/login/twitter/callback

任何帮助!!

您可以使用 Socialite::with($provider)->redirect(); 进行重定向。但是您必须先将回调 URL 与您的 ID 一起存储在 config/services.php 文件中。

'twitter' => [
        'client_id' => env('TWITTER_CLIENT_ID'),
        'client_secret' => env('TWITTER_CLIENT_SECRET'),Client Secret
        'redirect' => env('TWITTER_CALLBACK_URL'),
    ],

然后在回调函数中Socialite::driver($provider)->user();获取用户。