В сети очень много дискуссий о аутентификации - REST Architecture, поэтому я думаю, что давно пора разместить решение в одном месте. Решение, которое звучит несколько хорошо:
(Специалисты по безопасности внетам, пожалуйста, комментарий)
- Пользователь входит в систему, используя свое имя пользователя и пароль
- На сервере проверяются имя пользователя и пароль
, если учетные данныедействительно, мы получаем уникальный идентификатор, смешивая метку времени с идентификатором пользователя.мы используем таблицу для сопоставления uniqueId-> userid и создаем запись для уникального идентификатора, который мы только что сгенерировали, и идентификатора пользователя
Кроме того, мы устанавливаем заголовок HTTP, содержащий идентификатор, содержащий уникальный идентификатори идентификатор пользователя несколько с конкатенацией строк, как это <uniqueId>#<userid>.
При каждом запросе клиент должен предоставить эту информацию,
, если запрос отклиент требует, чтобы мы идентифицировали, кто является клиентом, чтобы мы могли проверить его разрешения, затем мы делаем это:
get http header #,
, если не содержат недействительныхuser
если содержится проверка в базе данных, если сопоставление uniqueId-> userid существует
если да, мы определили пользователя, иначе недопустимый пользователь
Вся эта схемапо HTTPS