Помните учетные данные для входа, используя приложение HTML5, развернутое на мобильном устройстве? - PullRequest
0 голосов
/ 10 сентября 2018

В основном я программист, но раньше я занимался разработкой веб-приложений для мобильных устройств.

Если я создаю собственное приложение HTML5, которое представляет собой не что иное, как HTML5 и javascript (нулевой собственный код мобильного приложения), есть ли способ запомнить учетные данные для входа? Я вижу другие приложения после создания учетной записи на мобильном устройстве.

Вот процесс, но я не могу разобраться, если # 3 возможно с не родным мобильным приложением.

  1. Пользователь загружает / устанавливает мобильное приложение.
  2. Они запускаются, и он проходит настройку создания учетной записи в первый раз.
  3. В следующий раз, когда они запустили приложение, я надеялся, что оно запомнит, кто они, и передаст мне соответствующие учетные данные, поэтому мне не нужно будет иметь экран входа в систему каждый раз, когда они запускают приложение.

1 Ответ

0 голосов
/ 10 сентября 2018

Как только пользователь успешно прошел аутентификацию, вы можете передать токен с сервера в приложение и сохранить этот токен в клиентском приложении в localStorage или indexedDB. Затем используйте токен, чтобы войти в систему. Убедитесь, что токен действительно является частью сериализованного объекта, который включает в себя срок действия токена. Например:

"rememberLogin": {
    "token": "43f250704a6bc737c830cc43739973b14e67ada07dca378a1725c3106c8e4f0f607cf11e2a3a2b08e8c053c19ccc781faf4f549e0e42cf6e2fe3b018a35da0f513ffe577f6d241db54a83ef30584c06e",
    "expiry": "2018-09-10T16:35:00.304Z"
}

Дата истечения срока действия токена, хранящаяся на клиенте, предназначена только для целей UX (вы можете использовать ее для принудительного перехода пользователя к форме входа в систему после истечения срока действия). В целях безопасности используйте срок действия токена, который хранится на сервере (а не на клиенте), чтобы проверить фактическую подлинность токена. Также убедитесь, что после каждой успешной аутентификации на основе токена вы либо удаляете токен из базы данных, либо помечаете его как использованный; также на клиенте вы должны заменить старый токен новым.

Я подчеркиваю локальное хранение токена для облегчения «запоминающихся входов в систему», а не локальное хранение имени пользователя и пароля пользователя. Никогда не храните имя пользователя и пароль на клиенте; если вы это сделаете, их будет слишком легко обнаружить, и они гораздо более чувствительны, чем непредсказуемый токен с датой истечения срока действия. Токен с датой истечения срока действия - путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...