Microunaut HTTP 403 после аутентификации - PullRequest
0 голосов
/ 27 марта 2020

У меня есть 2 услуги микронавтов: users и products и шлюз Zuul впереди.

Я могу войти (users) и сделать HTTP GET запросов (products), но когда я пытаюсь выполнить HTTP POST или PATCH , я получаю HTTP 403 .

пользователей / application.yaml

security:
  enabled: true 
  endpoints:
    login:
      enabled: true 
    oauth:
      enabled: true
  token:
    jwt:
      enabled: true
      signatures:
        secret:
          generator:
            secret: DB4A...
    writer:
      header:
        enabled: true
        headerName: "Authorization"
        prefix: "Bearer "
    propagation:
      enabled: true
      service-id-regex: "products|users"

products / application.yaml

security:
  enabled: true 
  token:
    jwt:
      enabled: true
      signatures:
        secret:
          validation:
            secret: DB4A...
    writer:
      header:
        enabled: true
        headerName: "Authorization"
        prefix: "Bearer "
    propagation:
      enabled: true
      service-id-regex: "products|user"

работает HTTP 200

@Secured({"ADMIN"})
@Get("/{id}")
public HttpResponse<?> getProduct(String id)
{
... // OK
}

Запрещенный HTTP 403

@Secured({"ADMIN"})
@Post("/products")
public HttpResponse<?> update(@Body List<Product> products)
{
... // FORBIDDEN
}

У кого-нибудь есть идеи?

micronaut.version 1.3.0

1 Ответ

0 голосов
/ 28 марта 2020

Проблема в том, что ошибка в Eclipse + Maven + Annotation Processing не работает. После генерации внутренних классов Micronaut в первый раз выполнение Build Project или Build All из Eclipse больше не запускает обработку аннотаций. Чтобы исправить это, мы должны запустить Maven.

Чтобы Micronaut работал в Eclipse, вы должны запустить команду Maven с помощью Run as -> Maven Build или командной строки:

mvn clean compile

или

mvn clean test-compile
...