#javascript #facebook #login #token #autologin
#javascript #Facebook #аутентификация #токен #автологин
Вопрос:
Я использую логин Facebook в качестве аутентификации для своего приложения PhoneGap — как только пользователь входит в систему, его данные извлекаются из моей базы данных для отображения информации. Я не использую SDK для каких-либо других целей.
У меня работает автоматический вход в Facebook — он извлекает автоответчик и мою информацию о Facebook. Поскольку токен доступа изменяется при каждом входе в систему, что я могу использовать для хранения локально и в моей базе данных для аутентификации пользователя на моем сервере для будущих входов в систему?
Вот поток, который, я думаю, может сработать…
- Пользователь видит логи на экране и вводит учетные данные Facebook
- Facebook надежно проверяет и возвращает информацию о пользователе и токен доступа
- Приложение использует localStorage для хранения электронной почты пользователя и токена доступа
- Для будущего автологина значения localStorage используются в качестве адреса электронной почты / пароля
Однако я чувствую, что это не может быть правильным ответом.
Комментарии:
1. Да, localStorage никогда не следует использовать для сохранения конфиденциальной информации, такой как пароль и данные клиента
2. @MandeepSingh я согласен — что вы предлагаете?
3. Токен доступа действителен только в течение нескольких часов
Ответ №1:
Я нашел решение — я был смущен хранением паролей в моей базе данных для получения информации о пользователе. Скорее, это правильные шаги:
- Используйте Facebook SDK для обработки входа в систему и получения ответа на авторизацию
- Обновите таблицу пользователей в моей базе данных с помощью токена временного доступа и извлеките информацию о пользователе
- Для каждого сообщения или получения, которое пользователь желает выполнить, я буду сопоставлять результаты FB.getLoginStatus() с токеном доступа к базе данных (проверка будет выполнена на стороне сервера)
- Если токены совпадают, выполняйте запросы. В противном случае заставьте пользователя снова войти в систему.
Комментарии:
1. Но токен существует всего несколько часов, вы снова нажали на новый токен
2. Правильно — повторное открытие приложения приведет к созданию новых токенов, и приложение будет работать нормально без принудительного входа в систему каждый раз.