Spring Security, когда я сообщаю Bearer, я получаю 403 ForbiddenJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring Security, когда я сообщаю Bearer, я получаю 403 Forbidden

Сообщение Anonymous »

У меня есть досадная проблема и я не могу ее решить, занимаюсь этим около 2 дней, реализую аутентификацию OAuth2 с помощью Spring Security, удалось реализовать генерацию непрозрачных токенов, но я могу не использую его в запросах, в качестве возврата получаю HTTP-статус 403 ЗАПРЕЩЕНО.
Это мой класс AuthorizationServerConfig:

Код: Выделить всё

@Configuration
public class AuthorizationServerConfig {

@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
public SecurityFilterChain authFilterChain(HttpSecurity http) throws Exception {
OAuth2AuthorizationServerConfiguration.applyDefaultSecurity(http);
return http.build();
}

@Bean
public AuthorizationServerSettings authorizationServerSettings(SalesSecurityProperties properties) {
return AuthorizationServerSettings.builder()
.issuer(properties.getProviderUrl())
.build();
}

@Bean
public RegisteredClientRepository registeredClientRepository() {
RegisteredClient saleBackend = RegisteredClient
.withId("1")
.clientId("sale-backend")
.clientSecret(passwordEncoder().encode("123"))
.clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC)
.authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS)
.scope("READ")
.tokenSettings(TokenSettings.builder()
.accessTokenFormat(OAuth2TokenFormat.REFERENCE)
.accessTokenTimeToLive(Duration.ofMinutes(30))
.build())
.build();

return new InMemoryRegisteredClientRepository(Collections.singletonList(saleBackend));
}

@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}

}
Это мой класс ResourceServerConfig:

Код: Выделить всё

@Configuration
@EnableMethodSecurity(securedEnabled = true)
@EnableWebSecurity
public class ResourceServerConfig {

@Bean
public SecurityFilterChain resourceServerFilterChain(HttpSecurity http) throws Exception {
http
.cors(AbstractHttpConfigurer::disable)
.authorizeHttpRequests((authz) -> authz
.requestMatchers("/oauth2/**").authenticated())
.csrf(AbstractHttpConfigurer::disable)
.oauth2ResourceServer((oauth2) -> oauth2
.opaqueToken(Customizer.withDefaults())
);
return http.build();
}

}
Когда я запрашиваю токен, я получаю его нормально.
Изображение

И когда я передаю сгенерированный токен, я получаю код 403
Изображение

Сервер понял токен, но отклонил запрос.


Подробнее здесь: https://stackoverflow.com/questions/790 ... -forbidden
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»