微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel社交名媛Twitter

如何解决Laravel社交名媛Twitter

Laravel社交微博(Oauth1)

我在通过laravel社交网站登录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 ?谢谢

解决方法

您必须从请求中获取$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。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。