0

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

任何帮助!

4

1 回答 1

0

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

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

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

于 2020-11-13T09:30:42.540 回答