Этот вопрос беспокоит меня в течение многих дней о том, как мы можем сохранить токен доступа с сервера авторизации для соответствующего пользователя, когда мы получаем токен доступа на URL-адрес обратного вызова.
Рассмотрим приложение XYZ, котороеиспользуется несколькими пользователями, которые поддерживают oAuth-вход через Facebook.
- Основные действия:
- Приложение XYZ зарегистрировано в Facebook и имеет собственный идентификатор клиента, секрет клиентаи URL обратного вызова зарегистрирован.
- Приложение XYZ предоставляет URL обратного вызова, который может принимать запросы GET (для кода авторизации) и POST (для токена доступа).
- oAuth2.0Поток кода авторизации:
- Приложение XYZ запрашивает у сервера Facebook авторизацию с идентификатором клиента, response_type = code, grant, state, URL обратного вызова.
- Facebook запросит у пользователя разрешение на доступ.
- Как только Пользователь подтверждает разрешение, Facebook отправляет код авторизации в приложение XYZ.
- Затем приложение XYZ использует код авторизации из Facebook, а также секрет клиента, URL-адрес обратного вызова и дополнительные параметры, которые оно запрашивает для токена доступа.
- Теперь Facebook отправляет токен доступа в приложение XYZ.
Мой вопрос:
Как мы узнаем, какой код авторизации связан с каким пользователем, когдаFacebook отправляет код авторизации на URL обратного вызова.
И как только мы получим токен доступа для URL-адреса обратного вызова, как мы можем сохранять те же данные пользователя в базе данных.
Поскольку существует только один URL-адрес обратного вызова, который принимает все запросы от Facebook, как мы узнаем, какой запрос для какого пользователя?