Правильно ли я понимаю принципы Hawk Auth?
Добрый день. Я прочитал все, что я мог прочитать об этом, но были вопросы.
В разных реализациях я вижу определенные различия (например, где mac называется hash, или hash - это другая хешированная строка (не mac). И некоторые другие ответы.
Далее я опишу, как я понимаю спецификацию.
У нас есть:
$keyId = "dh37fgj492je";
$key = "werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn";`
$algo = "hmac sha256";
$hash = "6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE=";
Когда мы получили эти данные? Как я понимаю, мы можем получить их при входе в систему и записать в базу данных. Правильно или нет? Далее мы храним эти данные в Cookies. Мы сохраняем все данные или просто $keyId
, $key
а также $algo
?
Далее формируем заголовок по данным из файлов cookie, которые мы сохранили.
Затем мы переносим этот заголовок на адрес, с которого мы хотим получать информацию (https://example.com/api/users/4512478
). Сервер возвращает данные.
Мои вопросы
- Какие данные должны храниться в пользовательских Cookies (или LocalStorage), и какие данные должны храниться только на стороне сервера?
- Какие данные из хранимых данных являются временными, и какие данные хранятся в течение некоторого времени в качестве идентификатора сеанса?
- Нужно ли хранить данные в сеансе? Могу ли я сохранить данные Hawk в базе данных (в пользовательской таблице)?