Я работаю из этой ссылки и пытается реализовать протокол 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
, так как я буду обрабатывать данные только в ответ на действия пользователя.