Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address apiview comments on spring cloud azure autoconfigure #27273

Merged
merged 9 commits into from
Feb 24, 2022
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ the main ServiceBusClientBuilder. -->
<suppress checks="com.azure.tools.checkstyle.checks.NoImplInPublicAPI" files="com.azure.spring.servicebus.core.properties.ProcessorProperties"/>
<suppress checks="com.azure.tools.checkstyle.checks.NoImplInPublicAPI" files="com.azure.spring.servicebus.core.properties.ProducerProperties"/>
<suppress checks="com.azure.tools.checkstyle.checks.NoImplInPublicAPI" files="com.azure.spring.storage.queue.core.properties.StorageQueueProperties"/>
<suppress checks="com.azure.tools.checkstyle.checks.NoImplInPublicAPI" files="com.azure.spring.cloud.autoconfigure.aadb2c.AADB2CJwtBearerTokenAuthenticationConverter"/>
<suppress checks="com.azure.tools.checkstyle.checks.NoImplInPublicAPI" files="com.azure.spring.cloud.autoconfigure.aadb2c.AadB2cJwtBearerTokenAuthenticationConverter"/>
<suppress checks="com.azure.tools.checkstyle.checks.NoImplInPublicAPI" files="com.azure.spring.cloud.autoconfigure.AzureServiceConfigurationBase"/>

<!-- TODO: (https://github.com/Azure/azure-sdk-for-java/issues/18291) -->
Expand All @@ -440,7 +440,7 @@ the main ServiceBusClientBuilder. -->
<!-- EnforceFinalFieldsCheck: The property will be filled by Spring framework -->
<suppress checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" files="com.azure.spring.data.cosmos.config.AbstractCosmosConfiguration.java"/>
<suppress checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" files="com.azure.spring.messaging.container.AbstractListenerContainer.java"/>
<suppress checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" files="com.azure.spring.cloud.autoconfigure.keyvault.env.KeyVaultOperation.java"/>
<suppress checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" files="com.azure.spring.cloud.autoconfigure.keyvault.environment.KeyVaultOperation.java"/>


<!-- Checkstyle suppressions for azure.spring.data.cosmos package -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2297,7 +2297,7 @@

<!-- This match should be removed after fixing https://github.com/Azure/azure-sdk-for-java/issues/26356 -->
<Match>
<Class name="com.azure.spring.cloud.autoconfigure.keyvault.env.KeyVaultOperation" />
<Class name="com.azure.spring.cloud.autoconfigure.keyvault.environment.KeyVaultOperation" />
<Field name="timer" />
<Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD"/>
</Match>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

package com.azure.spring.cloud.autoconfigure.aad;

import com.azure.spring.cloud.autoconfigure.aad.configuration.AADPropertiesConfiguration;
import com.azure.spring.cloud.autoconfigure.aad.filter.AADAppRoleStatelessAuthenticationFilter;
import com.azure.spring.cloud.autoconfigure.aad.filter.AADAuthenticationFilter;
import com.azure.spring.cloud.autoconfigure.aad.configuration.AadPropertiesConfiguration;
import com.azure.spring.cloud.autoconfigure.aad.filter.AadAppRoleStatelessAuthenticationFilter;
import com.azure.spring.cloud.autoconfigure.aad.filter.AadAuthenticationFilter;
import com.azure.spring.cloud.autoconfigure.aad.filter.UserPrincipalManager;
import com.azure.spring.cloud.autoconfigure.aad.properties.AADAuthenticationProperties;
import com.azure.spring.cloud.autoconfigure.aad.properties.AADAuthorizationServerEndpoints;
import com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthenticationProperties;
import com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthorizationServerEndpoints;
import com.nimbusds.jose.jwk.source.DefaultJWKSetCache;
import com.nimbusds.jose.jwk.source.JWKSetCache;
import com.nimbusds.jose.util.DefaultResourceRetriever;
Expand All @@ -31,33 +31,33 @@
* <p>
* The configuration will not be activated if no {@literal spring.cloud.azure.active-directory.credential.client-id} property provided.
* <p>
* A stateless filter {@link AADAppRoleStatelessAuthenticationFilter} will be auto-configured by specifying {@literal
* spring.cloud.azure.active-directory.session-stateless=true}. Otherwise, {@link AADAuthenticationFilter} will be configured.
* A stateless filter {@link AadAppRoleStatelessAuthenticationFilter} will be auto-configured by specifying {@literal
* spring.cloud.azure.active-directory.session-stateless=true}. Otherwise, {@link AadAuthenticationFilter} will be configured.
*/
@Configuration(proxyBeanMethods = false)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
@ConditionalOnExpression("${spring.cloud.azure.active-directory.enabled:false}")
@ConditionalOnMissingClass({ "org.springframework.security.oauth2.server.resource.BearerTokenAuthenticationToken" })
@Import(AADPropertiesConfiguration.class)
public class AADAuthenticationFilterAutoConfiguration {
@Import(AadPropertiesConfiguration.class)
public class AadAuthenticationFilterAutoConfiguration {
/**
* The property prefix
*/
public static final String PROPERTY_PREFIX = "spring.cloud.azure.active-directory";

private static final Logger LOG = LoggerFactory.getLogger(AADAuthenticationProperties.class);
private static final Logger LOG = LoggerFactory.getLogger(AadAuthenticationProperties.class);

private final AADAuthenticationProperties properties;
private final AADAuthorizationServerEndpoints endpoints;
private final AadAuthenticationProperties properties;
private final AadAuthorizationServerEndpoints endpoints;

/**
* Creates a new instance of {@link AADAuthenticationFilterAutoConfiguration}.
* Creates a new instance of {@link AadAuthenticationFilterAutoConfiguration}.
*
* @param properties the AAD authentication properties
*/
public AADAuthenticationFilterAutoConfiguration(AADAuthenticationProperties properties) {
public AadAuthenticationFilterAutoConfiguration(AadAuthenticationProperties properties) {
this.properties = properties;
this.endpoints = new AADAuthorizationServerEndpoints(properties.getProfile().getEnvironment().getActiveDirectoryEndpoint(),
this.endpoints = new AadAuthorizationServerEndpoints(properties.getProfile().getEnvironment().getActiveDirectoryEndpoint(),
properties.getProfile().getTenantId());
}

Expand All @@ -67,11 +67,11 @@ public AADAuthenticationFilterAutoConfiguration(AADAuthenticationProperties prop
* @return AADAuthenticationFilter bean
*/
@Bean
@ConditionalOnMissingBean(AADAuthenticationFilter.class)
@ConditionalOnMissingBean(AadAuthenticationFilter.class)
@ConditionalOnExpression("${spring.cloud.azure.active-directory.session-stateless:false} == false")
public AADAuthenticationFilter azureADJwtTokenFilter() {
public AadAuthenticationFilter aadJwtTokenFilter() {
LOG.info("AzureADJwtTokenFilter Constructor.");
return new AADAuthenticationFilter(
return new AadAuthenticationFilter(
properties,
endpoints,
getJWTResourceRetriever(),
Expand All @@ -86,11 +86,11 @@ public AADAuthenticationFilter azureADJwtTokenFilter() {
* @return AADAppRoleStatelessAuthenticationFilter bean
*/
@Bean
@ConditionalOnMissingBean(AADAppRoleStatelessAuthenticationFilter.class)
@ConditionalOnMissingBean(AadAppRoleStatelessAuthenticationFilter.class)
@ConditionalOnExpression("${spring.cloud.azure.active-directory.session-stateless:false} == true")
public AADAppRoleStatelessAuthenticationFilter azureADStatelessAuthFilter(ResourceRetriever resourceRetriever) {
LOG.info("Creating AzureADStatelessAuthFilter bean.");
return new AADAppRoleStatelessAuthenticationFilter(
public AadAppRoleStatelessAuthenticationFilter aadStatelessAuthFilter(ResourceRetriever resourceRetriever) {
LOG.info("Creating AadStatelessAuthFilter bean.");
return new AadAppRoleStatelessAuthenticationFilter(
new UserPrincipalManager(
endpoints,
properties,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
package com.azure.spring.cloud.autoconfigure.aad;


import com.azure.spring.cloud.autoconfigure.aad.configuration.AADOAuth2ClientConfiguration;
import com.azure.spring.cloud.autoconfigure.aad.configuration.AADPropertiesConfiguration;
import com.azure.spring.cloud.autoconfigure.aad.configuration.AADResourceServerConfiguration;
import com.azure.spring.cloud.autoconfigure.aad.configuration.AADWebApplicationConfiguration;
import com.azure.spring.cloud.autoconfigure.aad.configuration.AadOAuth2ClientConfiguration;
import com.azure.spring.cloud.autoconfigure.aad.configuration.AadPropertiesConfiguration;
import com.azure.spring.cloud.autoconfigure.aad.configuration.AadResourceServerConfiguration;
import com.azure.spring.cloud.autoconfigure.aad.configuration.AadWebApplicationConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.context.annotation.Configuration;
Expand All @@ -21,14 +21,14 @@
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
@ConditionalOnProperty(value = "spring.cloud.azure.active-directory.enabled", havingValue = "true")
@Import({
AADPropertiesConfiguration.class,
AADWebApplicationConfiguration.class,
AADResourceServerConfiguration.class,
AADOAuth2ClientConfiguration.OAuth2ClientRepositoryConfiguration.class,
AADOAuth2ClientConfiguration.WebApplicationWithoutResourceServerOAuth2AuthorizedClientManagerConfiguration.class,
AADOAuth2ClientConfiguration.ResourceServerWithOBOOAuth2AuthorizedClientManagerConfiguration.class,
AADOAuth2ClientConfiguration.WebApplicationAndResourceServiceOAuth2AuthorizedClientManagerConfiguration.class
AadPropertiesConfiguration.class,
AadWebApplicationConfiguration.class,
AadResourceServerConfiguration.class,
AadOAuth2ClientConfiguration.OAuth2ClientRepositoryConfiguration.class,
AadOAuth2ClientConfiguration.WebApplicationWithoutResourceServerOAuth2AuthorizedClientManagerConfiguration.class,
AadOAuth2ClientConfiguration.ResourceServerWithOBOOAuth2AuthorizedClientManagerConfiguration.class,
AadOAuth2ClientConfiguration.WebApplicationAndResourceServiceOAuth2AuthorizedClientManagerConfiguration.class
})
public class AADAutoConfiguration {
public class AadAutoConfiguration {

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

package com.azure.spring.cloud.autoconfigure.aad;

import com.azure.spring.cloud.autoconfigure.aad.implementation.webapi.AADJwtBearerTokenAuthenticationConverter;
import com.azure.spring.cloud.autoconfigure.aad.properties.AADResourceServerProperties;
import com.azure.spring.cloud.autoconfigure.aad.implementation.webapi.AadJwtBearerTokenAuthenticationConverter;
import com.azure.spring.cloud.autoconfigure.aad.properties.AadResourceServerProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
Expand All @@ -14,10 +14,10 @@
*
* @see WebSecurityConfigurerAdapter
*/
public abstract class AADResourceServerWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
public abstract class AadResourceServerWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {

@Autowired
AADResourceServerProperties properties;
AadResourceServerProperties properties;

/**
* configure
Expand All @@ -32,7 +32,7 @@ protected void configure(HttpSecurity http) throws Exception {
http.oauth2ResourceServer()
.jwt()
.jwtAuthenticationConverter(
new AADJwtBearerTokenAuthenticationConverter(
new AadJwtBearerTokenAuthenticationConverter(
properties.getPrincipalClaimName(), properties.getClaimToAuthorityPrefixMap()));
// @formatter:off
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Licensed under the MIT License.
package com.azure.spring.cloud.autoconfigure.aad;

import com.azure.spring.cloud.autoconfigure.aadb2c.AADB2CTrustedIssuerRepository;
import com.azure.spring.cloud.autoconfigure.aadb2c.AadB2cTrustedIssuerRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.Assert;
Expand All @@ -24,9 +24,9 @@
/**
* A tenant id is used to construct the trusted issuer repository.
*/
public class AADTrustedIssuerRepository {
public class AadTrustedIssuerRepository {

private static final Logger LOGGER = LoggerFactory.getLogger(AADTrustedIssuerRepository.class);
private static final Logger LOGGER = LoggerFactory.getLogger(AadTrustedIssuerRepository.class);

private static final String LOGIN_MICROSOFT_ONLINE_ISSUER = "https://login.microsoftonline.com/";

Expand All @@ -51,11 +51,11 @@ public class AADTrustedIssuerRepository {
protected String tenantId;

/**
* Creates a new instance of {@link AADTrustedIssuerRepository}.
* Creates a new instance of {@link AadTrustedIssuerRepository}.
*
* @param tenantId the tenant ID
*/
public AADTrustedIssuerRepository(String tenantId) {
public AadTrustedIssuerRepository(String tenantId) {
this.tenantId = tenantId;
trustedIssuers.addAll(buildAADIssuers(PATH_DELIMITER));
trustedIssuers.addAll(buildAADIssuers(PATH_DELIMITER_V2));
Expand Down Expand Up @@ -146,8 +146,8 @@ public void addB2CIssuer(String baseUri) {
*
* @param baseUri The base uri is the domain part of the endpoint.
* @param userFlows The all user flows mapping which is created under b2c tenant.
* @deprecated Is not recommended in {@link AADTrustedIssuerRepository} to add AAD B2C related content. See {@link
* AADB2CTrustedIssuerRepository}.
* @deprecated Is not recommended in {@link AadTrustedIssuerRepository} to add AAD B2C related content. See {@link
* AadB2cTrustedIssuerRepository}.
*/
@Deprecated
public void addB2CUserFlowIssuers(String baseUri, Map<String, String> userFlows) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@

package com.azure.spring.cloud.autoconfigure.aad;

import com.azure.spring.cloud.autoconfigure.aad.implementation.oauth2.AADClientRegistrationRepository;
import com.azure.spring.cloud.autoconfigure.aad.implementation.webapp.AADHandleConditionalAccessFilter;
import com.azure.spring.cloud.autoconfigure.aad.implementation.webapp.AADOAuth2AuthorizationCodeGrantRequestEntityConverter;
import com.azure.spring.cloud.autoconfigure.aad.implementation.webapp.AADOAuth2AuthorizationRequestResolver;
import com.azure.spring.cloud.autoconfigure.aad.properties.AADAuthenticationProperties;
import com.azure.spring.cloud.autoconfigure.aad.implementation.oauth2.AadClientRegistrationRepository;
import com.azure.spring.cloud.autoconfigure.aad.implementation.webapp.AadHandleConditionalAccessFilter;
import com.azure.spring.cloud.autoconfigure.aad.implementation.webapp.AadOAuth2AuthorizationCodeGrantRequestEntityConverter;
import com.azure.spring.cloud.autoconfigure.aad.implementation.webapp.AadOAuth2AuthorizationRequestResolver;
import com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthenticationProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
Expand All @@ -30,7 +30,7 @@
*
* @see WebSecurityConfigurerAdapter
*/
public abstract class AADWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
public abstract class AadWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {

@Autowired
private ClientRegistrationRepository repo;
Expand All @@ -41,7 +41,7 @@ public abstract class AADWebSecurityConfigurerAdapter extends WebSecurityConfigu
* AAD authentication properties
*/
@Autowired
protected AADAuthenticationProperties properties;
protected AadAuthenticationProperties properties;

/**
* configure
Expand All @@ -67,7 +67,7 @@ protected void configure(HttpSecurity http) throws Exception {
.logout()
.logoutSuccessHandler(oidcLogoutSuccessHandler())
.and()
.addFilterAfter(new AADHandleConditionalAccessFilter(), OAuth2AuthorizationRequestRedirectFilter.class);
.addFilterAfter(new AadHandleConditionalAccessFilter(), OAuth2AuthorizationRequestRedirectFilter.class);
// @formatter:off
}

Expand All @@ -93,10 +93,10 @@ protected LogoutSuccessHandler oidcLogoutSuccessHandler() {
*/
protected OAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient() {
DefaultAuthorizationCodeTokenResponseClient result = new DefaultAuthorizationCodeTokenResponseClient();
if (repo instanceof AADClientRegistrationRepository) {
if (repo instanceof AadClientRegistrationRepository) {
result.setRequestEntityConverter(
new AADOAuth2AuthorizationCodeGrantRequestEntityConverter(
((AADClientRegistrationRepository) repo).getAzureClientAccessTokenScopes()));
new AadOAuth2AuthorizationCodeGrantRequestEntityConverter(
((AadClientRegistrationRepository) repo).getAzureClientAccessTokenScopes()));
}
return result;
}
Expand All @@ -107,6 +107,6 @@ protected OAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> a
* @return the request resolver
*/
protected OAuth2AuthorizationRequestResolver requestResolver() {
return new AADOAuth2AuthorizationRequestResolver(this.repo, properties);
return new AadOAuth2AuthorizationRequestResolver(this.repo, properties);
}
}
Loading