1
Files
lecture-professional-softwa…/src/main/java/mops/gruppen2/config/KeycloakConfig.java
Christoph 36ebb6b8b6 rename package
Co-authored-by: Christoph <tobi@urpost.de>
2020-03-29 14:12:43 +02:00

46 lines
1.5 KiB
Java

package mops.gruppen2.config;
import org.keycloak.OAuth2Constants;
import org.keycloak.adapters.springboot.KeycloakSpringBootConfigResolver;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails;
import org.springframework.web.client.RestTemplate;
/**
* WORKAROUND for https://issues.redhat.com/browse/KEYCLOAK-11282
* Bean should move into {@link SecurityConfig} once Bug has been resolved
*/
@Configuration
public class KeycloakConfig {
@Value("${keycloak.resource}")
private String clientId;
@Value("${keycloak.credentials.secret}")
private String clientSecret;
@Value("${hhu_keycloak.token-uri}")
private String tokenUri;
@Bean
public KeycloakSpringBootConfigResolver keycloakConfigResolver() {
return new KeycloakSpringBootConfigResolver();
}
@Bean
public RestTemplate serviceAccountRestTemplate() {
ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails();
resourceDetails.setGrantType(OAuth2Constants.CLIENT_CREDENTIALS);
resourceDetails.setAccessTokenUri(tokenUri);
resourceDetails.setClientId(clientId);
resourceDetails.setClientSecret(clientSecret);
return new OAuth2RestTemplate(resourceDetails);
}
}