Обновить

Как я писал сервис авторизации на Rust…

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели7.8K
Всего голосов 2: ↑2 и ↓0+4
Комментарии4

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

Очень смущает, что вы используете термин "ключ декодирования", хотя сами же пишете, что в JWS нет никакого кодирования, там подпись. Объяснялка "Варианты шифрования JWT" не имеет смысла, он не шифрован. Зачем вы в verify() засунули и проверку подписи, и извлечение claims - непонятно, это два не связанных друг с другом шага. Из-за того, что не приведён код encode() и decode(), трудно проверить, чем они у вас занимаются, но должны, соответственно, формировать и проверять подпись (я потом проверил на гитхабе, это не ваши, а библиотечные функции).

За скобками осталось самое интересное: откуда брать авторизационную информацию? Это очень большая часть того же keycloak.

Спасибо за замечание.

Да, местами перепутал термины шифрования и подписи. Кого-то это могло ввести в заблуждение.

По поводу разделения логики функции verify() можно подумать. Она действительно выполняет две разных логических операции.

По поводу авторизационной информации. То, где её брать - тоже интересная тема. Пока что мой сервис ответа на это не даёт. Честно, сам об этом долго думал, но пока не знаю с какой стороны прикрутить.

Есть же нейрона - надо было просто написать в нее запрос и она бы все это за минуту написала бы

Взяли б какой-нибудь anyhow и писали бы сразу без unwrap с map_err и везде возвращали бы Result, не очень понятно зачем были все эти шаги с промежуточным описанием.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации