Аутентификация: проверка маркера доступа пользователя Facebook на стороне сервера?
Здесь много вопросов о процессе проверки Facebook access token
на стороне сервера. Я немного смущен, как все еще безопасно?
Мои клиентские и серверные потоки:
- пользователь
Continue with Facebook
, использующийMobile SDK
на стороне клиента. - Facebook возвращает
User access token
на клиентскую сторону. - конечные точки сервера получают
user access token
(с помощью метода POST) и проверяютaccess_token
с помощьюGraph
API. - в случае аутентификации пользователя верните маркер авторизации
JWT
в ответ - тем временем (в течение часа), если хакеры обнаружат
endpoint
и передадут новыйaccess_token
взломанной конечной точке.
Что произойдет, если 5th
точка будет выполнена? Трудно взломать параметры POST
, но это может быть возможно после декомпиляции приложения и просмотра файла классов (по крайней мере, для android apk). В этом случае сервер не распознает поддельный запрос и всегда возвращает маркер JWT Authorization
для дальнейших вызовов.
Действительность Facebook access_token
- это 60 дней. Нужно ли обеспечить дополнительный уровень безопасности во время проверки конечной точки, чтобы убедиться, что запрос поступает только из приложения?
Всегда ли меняется facebook user access_token
, когда пользователь запрашивает вход?