Совместное использование аутентификации/авторизации JWT

Приветствую сообщество программистов.

Вот то, что я искал, но на данный момент я не верю, что получил прямой ответ.

Внутри того же решения у меня есть webapi для аутентификации JWT и стандартный webAPi, который возвращает случайные значения.

Как я могу гарантировать, что веб-API со случайными значениями отвечает только тогда, когда у пользователя есть действующая авторизация, предоставленная веб-сайтом проверки подлинности jwt?

благодарю вас.

Спасибо.


person B33bs    schedule 11.12.2020    source источник


Ответы (1)


У вас есть два способа сделать это:

  1. Напишите собственный фильтр авторизации и зарегистрируйтесь в API-интерфейсе генератора случайных чисел и перехватите запросы: перехватите JWT для каждого запроса и перешлите в API-интерфейс авторизации, чтобы убедиться, что он действителен и срок его действия еще не истек.

  2. Поместите оба API за API-шлюзом, таким как Nginx, Envoy, Ocelot (или что-то еще) с включенной функцией jwt-handling. Сначала поймайте запрос на шлюзе при запросе авторизации/аутентификации от jwt-api. Если ответ верный/ОК, запрос будет автоматически переадресован API-интерфейсу генератора случайных чисел.

ПРИМЕЧАНИЕ. Во втором решении вы никогда не будете беспокоиться об аутентификации/авторизации в API генерации случайных чисел и сможете свободно развивать свой бизнес за безопасным шлюзом.

person Amir    schedule 11.12.2020
comment
решение № 1, кажется, путь, который я хочу выбрать. Любые подсказки о том, как это реализовать? - person B33bs; 11.12.2020
comment
Да, дорогой, вы можете использовать эту ссылку для реализации фильтров авторизации, если вы используете платформу dotnet-core: docs.microsoft.com/en-us/aspnet/core/mvc/controllers/ И вы можете отправлять HTTP-запросы на ваш jwt-auth API во встроенном фитлере: http://zetcode.com/csharp/httpclient/ - person Amir; 11.12.2020
comment
это будет работать с моим примером? то есть: я буду запускать аутентификацию в отдельном jwt webapi. Как проверить, имеет ли пользователь, пытающийся получить доступ к API генератора случайных чисел, правильные учетные данные и авторизован? - person B33bs; 11.12.2020
comment
Уважаемый, вы должны отправить http-запрос от Random-Gen к вашему Jwt-api и передать ему Jwt, чтобы проверить его подлинность и действительность. - person Amir; 11.12.2020
comment
Спасибо, сэр. Мне потребовалось некоторое время, чтобы добраться туда, но, наконец, я добрался до него! - person B33bs; 12.12.2020
comment
Рада вот этому, моя дорогая :) - person Amir; 13.12.2020