Ошибка при попытке использовать проверенную службу

Я сталкиваюсь с ошибкой при попытке использовать проверенную службу. Вот полная ошибка:

      java.lang.RuntimeException: Must set 'realm' in config
    at org.keycloak.adapters.KeycloakDeploymentBuilder.internalBuild(KeycloakDeploymentBuilder.java:57) ~[keycloak-adapter-core-12.0.1.jar:12.0.1]
    at org.keycloak.adapters.KeycloakDeploymentBuilder.build(KeycloakDeploymentBuilder.java:202) ~[keycloak-adapter-core-12.0.1.jar:12.0.1]
    at org.keycloak.adapters.springboot.KeycloakSpringBootConfigResolver.resolve(KeycloakSpringBootConfigResolver.java:41) ~[keycloak-spring-boot-adapter-core-12.0.1.jar:12.0.1]
    at org.keycloak.adapters.springsecurity.config.KeycloakSpringConfigResolverWrapper.resolve(KeycloakSpringConfigResolverWrapper.java:40) ~[keycloak-spring-security-adapter-12.0.1.jar:12.0.1]
    at org.keycloak.adapters.AdapterDeploymentContext.resolveDeployment(AdapterDeploymentContext.java:89) ~[keycloak-adapter-core-12.0.1.jar:12.0.1]

Я генерирую токен доступа, а затем пытаюсь использовать службу с этим токеном, но Spring генерирует ошибку, требующую установки свойства «realm». Вот мои свойства и часть кода:

Характеристики

      server.port=8081

spring.security.oauth2.client.registration.client.client-id=client
spring.security.oauth2.client.registration.client.authorization-grant-type=authorization_code
spring.security.oauth2.client.registration.client.scope=openid,email,profile,roles
spring.security.oauth2.client.registration.client.provider=keycloak

spring.security.oauth2.client.provider.keycloak.authorization-uri=http://localhost:8085/realms/user/protocol/openid-connect/auth
spring.security.oauth2.client.provider.keycloak.token-uri=http://localhost:8085/realms/user/protocol/openid-connect/token
spring.security.oauth2.client.provider.keycloak.user-info-uri=http://localhost:8085/realms/user/protocol/openid-connect/userinfo
spring.security.oauth2.client.provider.keycloak.jwk-set-uri=http://localhost:8085/realms/user/protocol/openid-connect/certs

Код конфигурации безопасности:

      package com.djamware.oauthresource.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors()
            .and()
            .authorizeRequests()
            .antMatchers(HttpMethod.GET, "/api/board")
            .hasAuthority("user")
            .anyRequest()
            .authenticated()
            .and()
            .oauth2ResourceServer()
            .jwt();
    }
}

Любая помощь в решении этой проблемы будет оценена по достоинству. Спасибо.

До сих пор я пытался создать токен доступа, а затем использовать этот токен для использования аутентифицированной службы. Я ожидал, что услуга будет успешно использована, поскольку токен должен аутентифицировать запрос. Однако я столкнулся с java.lang.RuntimeException: необходимо установить «область» в ошибке конфигурации.

0 ответов

Другие вопросы по тегам