Laravel Angular авторизация в Facebook

Я пытаюсь настроить аутентификацию с помощью провайдера Facebook.

На данный момент у меня есть приложение Angular 6 и серверный API Laravel 5.6 с Dingo.

Я пытаюсь сделать так, чтобы можно было использовать учетную запись facebook для пения и наложить некоторые ограничения, но я не могу этого сделать.

Я пытался использовать angularx-social-login, который работал с Angular, но я не могу получить пользователя по токену в моем бэкэнде Laravel, потому что он говорит, что метод userFromTokenAndSecret не существует.

$providerUser = Socialite::driver('facebook')->stateless()->userFromTokenAndSecret($request->token, config('facebook.config.secret'));

        $account = SocialFacebookAccount::whereProvider('facebook')
            ->where('provider_id', $providerUser->getId())
            ->first();

        if (!$account->exists) {
            $account = new SocialFacebookAccount([
                'provider_user_id' => $providerUser->getId(),
                'provider' => 'facebook'
            ]);
            $account->save();
        }

Попробуйте использовать ng2-ui-auth. Получите code из Facebook и отправьте его на серверную часть. На бэкэнде получить пользователя через Socialite::driver('facebook')->stateless()->user();

Andrey Lutskevich 06.09.2018 15:23

Как бы это получить? Потребляет ли он тело запроса?

Sergey 06.09.2018 15:39

@AndreyLutskevich просто попытался отправить в API то, что я получил из facebook, и это привело к «Ошибка клиента: POST https://graph.facebook.com/v3.0/oauth/access_token привел к ответу 400 Bad Request…»

Sergey 06.09.2018 15:51

Я не могу рассказать вам о ng2-ui-auth, потому что не работаю с ним. Фронтенд работает с этой библиотекой и отправляет токен аутентификации из facebook в бэкэнд (code). А на бэкэнде одна строка Socialite::driver('facebook')->stateless()->user(); возвращает полную информацию о пользователе.

Andrey Lutskevich 06.09.2018 15:57

Итак, вы говорите, что я должен отправлять authToken, а не объект пользователя?

Sergey 06.09.2018 16:06

да. С ng2-ui-auth на бэкэнд вы должны отправлять только токен авторизации.

Andrey Lutskevich 07.09.2018 00:00

@AndreyLutskevich, не могли бы вы уточнить, как мне его передать. Насколько я понимаю, мне следует вызвать backend API route с помощью get. Должен ли я передавать токен через заголовки или как полезную нагрузку? Не удалось найти никаких подсказок, как работает Socialite и для чего нужен метод.

Sergey 07.09.2018 00:05

Позвольте нам продолжить обсуждение в чате.

Andrey Lutskevich 07.09.2018 00:06
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
8
272
0

Другие вопросы по теме