ClientDetailsService и проверка подлинности клиента InMemory - PullRequest
0 голосов
/ 12 февраля 2019

Я пишу сервер авторизации oauth2, который должен поддерживать два типа аутентификаций.

  1. Аутентификация с использованием имени пользователя и пароля (предоставление пароля) с фиксированным clientId
  2. Аутентификация с предварительно зарегистрированным приложением, где cliendId и clientSecret хранятся в базе данных

Моя конфигурация выглядит следующим образом.

@Override
    public void configure(ClientDetailsServiceConfigurer configurer) throws Exception {
        configurer
                // registered apps 
                .withClientDetails(appClientDetailsService)
               // user auth
        .and().inMemory()
                .withClient(clientId)
                .secret(clientSecret)
                .authorizedGrantTypes(grantType)
                .scopes(scopeRead, scopeWrite)
                .resourceIds(resourceIds);
}

Оба работают самостоятельно, но если я их объединяю (and()), я получаю ошибку:

IllegalStateException: securityBuilder cannot be null

Можно ли использовать ClientDetailsService и жестко inMemory клиент или мне нужно добавить UserAuthClient в базу данных?

спасибо

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