Проверка подлинности пользователя веб-службы - сохранение пароля на клиенте - PullRequest
0 голосов
/ 04 февраля 2019

Я работаю над мыльным веб-сервисом, который нуждается в некоторой базовой аутентификации.

Поэтому идея состоит в том, чтобы просто потребовать, чтобы все методы веб-сервиса содержали параметр имени пользователя и пароля, а затем убедиться, что эти значения существуют в нашембаза данных пользователей:

public String[][] someWebserviceMethod(String username, String password) throws FailedLoginException {

    // Verify that user with username and password exists

    //do database stuff and return data
}

Это создает проблему на стороне клиента.После первоначального входа пользователя в приложение нам нужно сохранить имя пользователя и пароль в памяти в виде простого текста.Это приемлемо?Если нет, какой метод предпочтительнее?

Кроме того, мой веб-сервис будет размещен на https.Гарантирует ли это, что пароль надежно зашифрован, когда клиент отправляет запрос на мыло?

Изменить: Будет ли работать sessionID?Я никогда не реализовывал один без фреймворка или веб-сервера, делающего это для меня.Может быть что-то вроде этого:

  1. Клиент отправляет имя пользователя и пароль.
  2. Если клиент действителен, сервер возвращает случайную строку (sessionId).
  3. Сервер хранит sessionID и метку временив базе данных
  4. Клиент хранит sessionID в памяти, не хранит пароль
  5. Клиент запрашивает веб-метод с именем пользователя и sessionID
  6. Если пользователь с именем пользователя и sessionID существует, а отметка времени в пределахвремя ожидания, предоставить доступ и обновить отметку времени.В противном случае повторно войдите в систему.

1 Ответ

0 голосов
/ 04 февраля 2019

Да HTTPS - S означает безопасный и шифрует все коммуникации.Но вы всегда можете использовать некоторые другие методы шифрования, такие как MD5, SHA-1 и более распространенные.Если вы делаете это для некоторого базового обучения, можно хранить данные в виде обычного текста / json без какого-либо шифрования, в противном случае проверьте следующие хеш-функции:

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