Автологин и токены Facebook Javascript SDK

#javascript #facebook #login #token #autologin

#javascript #Facebook #аутентификация #токен #автологин

Вопрос:

Я использую логин Facebook в качестве аутентификации для своего приложения PhoneGap — как только пользователь входит в систему, его данные извлекаются из моей базы данных для отображения информации. Я не использую SDK для каких-либо других целей.

У меня работает автоматический вход в Facebook — он извлекает автоответчик и мою информацию о Facebook. Поскольку токен доступа изменяется при каждом входе в систему, что я могу использовать для хранения локально и в моей базе данных для аутентификации пользователя на моем сервере для будущих входов в систему?

Вот поток, который, я думаю, может сработать…

  1. Пользователь видит логи на экране и вводит учетные данные Facebook
  2. Facebook надежно проверяет и возвращает информацию о пользователе и токен доступа
  3. Приложение использует localStorage для хранения электронной почты пользователя и токена доступа
  4. Для будущего автологина значения localStorage используются в качестве адреса электронной почты / пароля

Однако я чувствую, что это не может быть правильным ответом.

Комментарии:

1. Да, localStorage никогда не следует использовать для сохранения конфиденциальной информации, такой как пароль и данные клиента

2. @MandeepSingh я согласен — что вы предлагаете?

3. Токен доступа действителен только в течение нескольких часов

Ответ №1:

Я нашел решение — я был смущен хранением паролей в моей базе данных для получения информации о пользователе. Скорее, это правильные шаги:

  1. Используйте Facebook SDK для обработки входа в систему и получения ответа на авторизацию
  2. Обновите таблицу пользователей в моей базе данных с помощью токена временного доступа и извлеките информацию о пользователе
  3. Для каждого сообщения или получения, которое пользователь желает выполнить, я буду сопоставлять результаты FB.getLoginStatus() с токеном доступа к базе данных (проверка будет выполнена на стороне сервера)
  4. Если токены совпадают, выполняйте запросы. В противном случае заставьте пользователя снова войти в систему.

Комментарии:

1. Но токен существует всего несколько часов, вы снова нажали на новый токен

2. Правильно — повторное открытие приложения приведет к созданию новых токенов, и приложение будет работать нормально без принудительного входа в систему каждый раз.