#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. Запрос обратного вызова не содержит этой информации.