LoginSignup
1
0
記事投稿キャンペーン 「2024年!初アウトプットをしよう」

SpringBoot3.2+ AzureADでログインさせるSecurityFilterChainの書き方

Last updated at Posted at 2024-01-30

対象

  • SpringBoot3.2でEntra ID(旧AzureAD)でログインを実装している
  • なんか公式の通りに書くとDeprecatedって言われて気持ち悪い

結論の先出し

Webアプリへのログインの実装について、例によって公式のドキュメントが古い書式でコードを提示しています。

HttpSecurity.aplly(C configurer)HttpSecurity.and()は非推奨となっていますので、代替のwith(C configurer, Customizer<C> customizer).authorizeHttpRequests()を使用する必要があります。

公式のサンプルコードをSpringBoot3.2の書式で書き直し

@Configuration(proxyBeanMethods = false)
@EnableWebSecurity
@EnableMethodSecurity
public class AadOAuth2LoginSecurityConfig {

   /**
    * Add configuration logic as needed.
    */
   @Bean
   SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http.with(AadWebApplicationHttpSecurityConfigurer.aadWebApplication(),
                Customizer.withDefaults())
            .authorizeHttpRequests(requests -> requests
                .anyRequest().authenticated());
           // Do some custom configuration.
       return http.build();
   }
}

with()の第1引数にAadWebApplicationHttpSecurityConfigurer.aadWebApplication()で生成したConfigurerを渡して、第2引数で何も変更しないCustomizerを渡します。
その他はラムダ式で書くこと以外は変更なしです。

私の環境ではこの書き方で問題なく動作しているように思いますので、今のうちに新しい書式へ変更しましょう。
何か問題が発生したときは教えていただけると私も助かると思います。おためしください。

参考文書

Microsoftのドキュメント-Spring Security の Spring Cloud Azure サポート
Microsoftのドキュメント-Spring Security の Spring Cloud Azure サポート
以前に書いたSpring Security + Azure AD(Entra ID)のログインについてもう少し詳しい記事-Spring Boot(MVC) + Spring Security + Azure ADでのログインの実装がとても簡単になった件

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0