AADB2COidcLoginConfigurer.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.spring.autoconfigure.b2c;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
/**
* Configure B2C OAUTH2 login properties.
*/
public class AADB2COidcLoginConfigurer extends AbstractHttpConfigurer<AADB2COidcLoginConfigurer, HttpSecurity> {
private final AADB2CProperties properties;
private final AADB2CLogoutSuccessHandler handler;
private final AADB2CAuthorizationRequestResolver resolver;
public AADB2COidcLoginConfigurer(AADB2CProperties properties,
AADB2CLogoutSuccessHandler handler, AADB2CAuthorizationRequestResolver resolver) {
this.properties = properties;
this.handler = handler;
this.resolver = resolver;
}
@Override
public void init(HttpSecurity http) throws Exception {
http.logout()
.logoutSuccessHandler(handler)
.and()
.oauth2Login()
.loginProcessingUrl(properties.getLoginProcessingUrl())
.authorizationEndpoint().authorizationRequestResolver(resolver);
}
}