Микросервисная аутентификация и авторизация с использованием API Gateway - PullRequest
0 голосов
/ 30 августа 2018

У меня есть три микросервиса: сервис-заказ, сервис-заказ и продукт-сервис. У user-service есть пользовательские API-интерфейсы, такие как логин, регистрация и т. д. Order-service заказывает продукт и получает информацию о продукте из product-service. Итак, микро сервис работает как пользовательский сервис, и заказ-сервис ---- >> б / у --- >> продукт-сервис. Теперь я хочу использовать zuul api gateway и настроить фильтр zuul в этом. Как этот

public class PreFilter extends ZuulFilter {

  @Override
  public Object run() {
    RequestContext ctx = RequestContext.getCurrentContext();
    HttpServletRequest request = ctx.getRequest();
   // Here first i get token from header and then 
   // call to auth-server and then validate token if it is ok then go forword if  
   // token is not valid then thow exception unauthentication 
  }
} 

Теперь запрос на пользователя работает как API-шлюз --- >> обслуживание пользователей

запрос на заказ

api gateway - >> заказ-сервис --- >> продукт-сервис

Теперь запрос на заказ работает как Api-шлюз --- >> сервер авторизации (проверка токена) ---- если запрос проверки токена переходит в службу заказа ----- >>>> служба заказа ------- >> услуга продукта. Мой вопрос заключается в том, что если я проверяю токен в шлюзе API и могу напрямую получить доступ к сервису заказа, то как я могу остановить такой запрос, который не поступает через шлюз API и не требуется проверить токен в сервисе заказа и услуге продукта? ?. Мне нужна одна такая точка входа, и я хочу проверить токен для API заказа и продукта, если кто-то хочет получить доступ к API-интерфейсу заказа-обслуживания без действительного токена, тогда сервис заказа или обслуживания продукта для них не работает. Пожалуйста, помогите мне понять, как я мог спроектировать структуру моего проекта.

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