Twitter Provider,不会将我重定向到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();中获取用户。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...