Laravel Socialite Twitter

#laravel #twitter #oauth #twitter-oauth #laravel-socialite

#laravel #Twitter #oauth #twitter-oauth #laravel-светская львица

Вопрос:

Laravel Socialite Twitter (Oauth1)

У меня возникли проблемы с входом в Twitter через laravel socialite.

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

приведенный выше код выдает ошибку с сообщением:

Аргумент 1, передаваемый в LeagueOAuth1ClientServerServer::getTokenCredentials(), должен быть экземпляром LeagueOAuth1ClientCredentialsTemporaryCredentials, задается значение null

Я проверил документацию Laravel Socialite, и в ней говорится, что для получения сведений о пользователе учетной записи Twitter я должен использовать

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

вместо

Socialite::драйвер (‘twitter’) -> пользователь ();

Но не объясняется, как получить параметр $token и $tokenSecret. Я жестко запрограммировал $ token и $ tokenSecret, используя ключи в приложении Twitter, но каждый раз, когда я вхожу в другую учетную запись, она по-прежнему использует эту учетную запись, которую я понимаю, поскольку код жестко запрограммирован. Есть ли способ получить $token и $ tokenSecret пользователя при входе в систему? Спасибо

Комментарии:

1. Вы когда-нибудь решали эту проблему?

Ответ №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.

Комментарии:

1. Запрос обратного вызова не содержит этой информации.