notes/pl/java/libfws/spring/security/oauth/cfg/global-method.txt
Ihar Hancharenka 5dff80e88e first
2023-03-27 16:52:17 +03:00

41 строка
1.6 KiB
Plaintext

2015
https://stackoverflow.com/questions/29797721/oauth2-security-expressions-on-method-level
ExpressionHandler
https://stackoverflow.com/questions/33638850/how-to-protect-spring-security-oauth-resources-using-preauthorize-based-on-scop
https://docs.spring.io/spring-security/oauth/apidocs/org/springframework/security/oauth2/provider/expression/OAuth2SecurityExpressionMethods.html
hasScope
hasScopeMatching
hasScopeAnyMatching
clientHasRole
clientHasAnyRole
isOAuth
isUser
isClient
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext;
import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails;
import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor;
import feign.RequestInterceptor;
@Configuration
public class OAuth2ClientConfig {
@Bean
@ConfigurationProperties("security.oauth2.localas.client")
public ClientCredentialsResourceDetails localAuthServerResourceDetails() {
return new ClientCredentialsResourceDetails();
}
@Bean
public OAuth2RestTemplate localAuthServerRestTemplate() {
return new OAuth2RestTemplate(localAuthServerResourceDetails());
}
@Bean
public RequestInterceptor oauth2FeignRequestInterceptor() {
return new OAuth2FeignRequestInterceptor(new DefaultOAuth2ClientContext(), localAuthServerResourceDetails());
}
}