All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sap.cloud.security.spring.autoconfig.HybridAuthorizationAutoConfiguration Maven / Gradle / Ivy

There is a newer version: 3.5.6
Show newest version
package com.sap.cloud.security.spring.autoconfig;

import com.sap.cloud.security.spring.config.XsuaaServiceConfiguration;
import com.sap.cloud.security.spring.token.authentication.XsuaaTokenAuthorizationConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
import org.springframework.security.authentication.AbstractAuthenticationToken;
import org.springframework.security.oauth2.jwt.Jwt;
import org.springframework.security.oauth2.jwt.JwtDecoder;

import static com.sap.cloud.security.config.cf.CFConstants.XSUAA.APP_ID;

/**
 * {@link EnableAutoConfiguration} exposes a {@link JwtDecoder}, which is able
 * to decode and validate tokens from Xsuaa and Identity service.
 *
 * 

* Can be disabled with * {@code @EnableAutoConfiguration(exclude={HybridIdentityServicesAutoConfiguration.class})} * or with property {@code sap.spring.security.hybrid.auto = false}. */ @Configuration @ConditionalOnProperty(name = "sap.spring.security.hybrid.auto", havingValue = "true", matchIfMissing = true) @AutoConfigureAfter(HybridIdentityServicesAutoConfiguration.class) class HybridAuthorizationAutoConfiguration { private final Logger logger = LoggerFactory.getLogger(getClass()); @Bean @ConditionalOnMissingBean(XsuaaTokenAuthorizationConverter.class) @ConditionalOnProperty("sap.security.services.xsuaa.xsappname") public Converter xsuaaAuthConverter(XsuaaServiceConfiguration xsuaaConfig) { logger.debug( "auto-configures Converter with 'xsuaa.xsappname' from XsuaaServiceConfiguration."); return new XsuaaTokenAuthorizationConverter(xsuaaConfig.getProperty(APP_ID)); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy