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