Адаптер Keycloak Wildfly поддерживает аутентификацию basi c - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть веб-приложение, в котором также есть API для отдыха. Приложение работает на сервере Wildfly и защищено через Keycloak (через adpater Wildfly Keycloak). Когда я использую API через браузер, он работает. Но у меня есть сервисное приложение, которое работает в фоновом режиме. Поэтому я попытался использовать basi c auth для этого приложения. Мой брелок. json выглядит следующим образом:

  "realm": "myrealm",
  "auth-server-url": "https://myserver/auth/",
  "ssl-required": "all",
  "resource": "myclient",
  "verify-token-audience": true,
  "enable-basic-auth" : true,
  "public-client" : false,
  "credentials": {
    "secret": "secret"
  },
  "use-resource-role-mappings": true,
  "confidential-port": 443
} 

Сервисное приложение использует библиотеку Apache httpClient для остальных вызовов и настраивается следующим образом:

    CredentialsProvider provider = new BasicCredentialsProvider();
    UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("username", "secret");
    provider.setCredentials(AuthScope.ANY, credentials);

    httpClient = HttpClientBuilder.create()
            .setDefaultCredentialsProvider(provider)
            .build();

Но клиент перенаправляется на страницу входа, хотя имя пользователя / пароль предоставлены.

Есть подсказки?

...