javascript — использование PHP входа в систему на стороне OAuth2

Поэтому я создаю веб-сайт для изучения PHP / Javascript / HTML / CSS и т. Д., И столкнулся с проблемой, решение которой не могу найти. Так что в основном у меня есть обычная форма входа в систему с использованием PHP, которая использует POST для отправки данных и аутентификации. Я также хочу интегрировать внешнюю аутентификацию Twitch.tv OAuth2.

Используя обычный логин PHP, я храню свою информацию в базе данных PostgreSQL, используя php. Я хочу сделать что-то подобное, используя OAuth2. Например, сохраните имя Twitch.tv в качестве имени пользователя в базе данных и токен в качестве пароля.

Проблема в том, что внешняя аутентификация, которую я использую, основана на их Javascript API, и она хранит информацию в хранилище DOM, к которой я не могу получить доступ с помощью PHP. Redirect_uri с токеном также является фрагментом, который не может быть получен PHP.

Должен ли я просто отказаться от части JS и попробовать сделать это полностью на PHP?

Дополнительный вопрос: я проверил другой сайт, который также использует аутентификацию Twitch и использует эти обратные ссылки «https://api.nightbot.tv/auth/twitch/callback?code=**** «. Что именно эти обратные вызовы?

0

Решение

Вы должны использовать перенаправления, как вы подразумевали в JS Framework. Это работает так же с Facebook.
Перенаправления используются с токеном. Обычно вы генерируете на своей стороне случайный токен, который храните в сеансе.
Как только пользователь войдет в систему с помощью JS API, API перенаправит на страницу обратного вызова (PHP в вашем случае).
На этой странице вы проверяете токен один раз (то, что вы прошли и получили обратно, должен быть тем же самым), а также вы получаете другой токен от API для использования с API.
На этом этапе вы можете получить информацию о пользователе, запросив API с помощью токена API.
Вы получаете информацию о пользователе от API, а затем можете запросить у вас отключенную БД для входа пользователя и т. Д.
Надеюсь, это поможет..

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]