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();
遇到这个问题:
SymfonyComponentDebugExceptionFatalThrowableError
Call to undefined method LaravelSocialiteOneUser::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();
中获取用户。