Laravel 社交名流推特

Posted

技术标签:

【中文标题】Laravel 社交名流推特【英文标题】:Laravel Socialite Twitter 【发布时间】:2021-02-10 10:12:11 【问题描述】:

Laravel 社交名流 Twitter (Oauth1)

我在通过 laravel socialite 登录 Twitter 时遇到问题。

Socialite::driver('twitter')->user();

上面的代码抛出错误消息:

传递给 League\OAuth1\Client\Server\Server::getTokenCredentials() 的参数 1 必须是 League\OAuth1\Client\Credentials\TemporaryCredentials 的实例,给定为空

我查看了 Laravel Socialite 文档,它说要获取 twitter 帐户的用户详细信息,我应该使用

Socialite::driver('twitter')->userFromTokenAndSecret($token, $tokenSecret);

而不是

Socialite::driver('twitter')->user();

但是没有说明如何获取$token$tokenSecret参数。我使用 twitter 应用程序中的密钥对 $token$tokenSecret 进行了硬编码,但每次我登录其他帐户时,它仍然使用我理解的那个帐户,因为代码很难编码。有没有办法在用户登录时获取用户的 $token$tokenSecret?谢谢

【问题讨论】:

你解决过这个问题吗? 【参考方案1】:

您必须从请求中获取$token$token_secret

  $provider = "twitter"  
  $token = trim($request->input("provider_token"));
  $token_secret = trim($request->input("provider_token_secret"));

然后你可以将它们用于 OAuth1.0

Socialite::driver($provider)->userFromTokenAndSecret($token, $token_secret);

这里不能使用Socialite::driver($provider)->user($token);,因为使用的是OAuth1.0。

【讨论】:

回调请求中不包含此信息。

以上是关于Laravel 社交名流推特的主要内容,如果未能解决你的问题,请参考以下文章

如何测试 Laravel 社交名流

Laravel JWT 和社交名流插件

在 laravel 中使用社交名流登录 Facebook

如何减少 Laravel 5 中的社交名流范围?

Laravel 5.2.31 社交名流证书 ssl 错误

社交名流 laravel 5.4 Facebook 提供商