2017-02-12 5 views
2

Это мой первый опыт работы с Socialite, и я не могу заставить его работать правильно.Laravel Socialite: неверный запрос. Отсутствует верификатор OAuth. (Twitter)

По сути, все, что я хочу, это вернуть некоторые данные учетной записи в настоящее время аутентифицированной учетной записи. Я работаю, когда дело доходит до входа в систему и создания учетной записи, но когда я пытаюсь вернуть данные с помощью этой учетной записи, меня приветствует отсутствие ошибки аутентификатора OAuth.

Вот короткий ролик моего разрешающее приложение, как ожидалось, а затем, нажав на ссылку, которая должна возвращать данные в формате JSON о счете: https://youtu.be/LE8x9P8N_dU

Внутри контроллера для возврата реквизиты у меня есть:

public function getAccountInfo(){ 

    $socialAccount = Socialite::with('twitter')->user(); 
    return $socialAccount;  
} 

Я был под впечатлением, это позволит мне делать такие вещи, как

$socialAccount->getAvatar(); 

ЭСТ однако он не появляется в ш орк.

Я следую этому руководству по настройке Socialite: https://blog.damirmiladinov.com/laravel/laravel-5.2-socialite-twitter-login.html, поэтому моя настройка почти такая же, как и эта.

"laravel/framework": "5.4.*", 
"laravel/socialite": "^3.0", 

Любые советы приветствуются.

+0

Хороший вопрос. Стремитесь увидеть ответ сам – Chris

ответ

1

Проверить этот синтаксис

$socialAccount = Socialite::driver('twitter')->user(); 

Если вы хотите реквизиты на данный момент проверку подлинности пользователя, использовать тот же старый

$user = Auth::user(); 
+0

Результаты между с и драйвером одинаковы. Я видел некоторую документацию, используя с ней и попробовал. Разве Auth :: User не дает мне доступ ко всему, что я сохранил при создании первоначальной учетной записи? Детали, такие как аватар, будут устаревшими, если они будут сохранены. Вы рекомендуете обновлять эти данные каждый раз, когда пользователь входит в систему, если они изменились? – Dale

+0

Независимо от того, какую информацию вы собираетесь использовать позже в приложении, вы должны либо сохранить его в базе данных, либо сохранить его в сеансе. Потому что, когда вы получаете зарегистрированного пользователя через Auth :: user(), он берет пользователя из базы данных, а не из сообщества. – EddyTheDove

+0

Спасибо за помощь. У меня создалось впечатление, что после входа в систему вы создаете экземпляр пользователя (ссылаясь на документы) и получаете доступ к нему с помощью метода socialite-> user(). Разве это не так, как это работает? Https: //github.com/laravel/socialite#retrieving-user-details – Dale

Смежные вопросы