Я работаю из этой ссылки и пытается реализовать протокол OAuth, чтобы пользователи могли входить на мой сайт через Facebook. Тем не менее, документация в Facebook довольно ужасная, и она неясна в нескольких ключевых частях.
В нем говорится, что авторизация выполняется в три этапа:
-
Аутентификация пользователя (перенаправляет пользователя на
https://facebook.com/dialog/oauth?client_id=...&redirect_uri=...и ожидает, что страницаredirect_uriбудет возвращена с помощьюcode). Отлично работает! -
Авторизация приложения (обрабатывается Facebook и т.д.). Отлично работает!
-
Проверка подлинности приложения (На странице обратного вызова возьмите
code, который вы получите, и вызовитеhttps://graph.facebook.com/oauth/access_token?client_id=...&redirect_uri=...&client_secret=...&code=.... Тело ответа будет включатьaccess_tokenнам нужно сделать что-то)
Я понимаю, что с access_token я могу назвать API и т.д. Но что происходит, когда оно истекает? Я мог бы получить новый, но к этому моменту будет много HTTP-запросов позже, и у меня больше нет code, который я использовал для его получения. Должен ли я хранить code вдоль стороны access_token? Или я должен сказать пользователю снова войти в систему, чтобы получить новый code, чтобы получить новый access_token?
Или, не хватает ли здесь ключевой части? Мне не нужен токен offline_access, так как я буду обрабатывать данные только в ответ на действия пользователя.