Open2

Azure AD B2C ライブラリ4.0移行

inoyinoy

Azure AD B2Cライブラリのバージョンアップ ノート

現状3.9.0を利用。これを4.3.0へバージョンアップする。

  • 変更前: com.azure.spring:azure-spring-boot-starter-active-directory-b2c:3.9.0
  • 変更後: com.azure.spring:spring-cloud-azure-starter-active-directory-b2c:4.3.0

AzureのSpring向けライブラリは4.0で割と大きな変更があった模様。
マイクロソフトから、4.0 の移行ガイドが公開されている。

inoyinoy

4.0 の移行ガイド からの抜粋

はじめに

com.azure.spring:spring-cloud-azure-* に従うライブラリを最新のライブラリ

com.azure.spring:azure-spring-boot-、com.azure.spring:azure-spring-cloud-、または com.azure.spring:azure-spring-integration-* に従うライブラリをレガシ ライブラリと呼びます

BOM

BOMの指定について。
graldeは以下追加で良さそう。

    dependencyManagement {
        imports {
            mavenBom "com.azure.spring:spring-cloud-azure-dependencies:4.3.0"
        }
    }

アーティファクトの変更: 名前の変更/追加/削除

ここに従ってライブラリを変更すれば良い。
azure-spring-boot-starter-active-directory-b2cspring-cloud-azure-starter-active-directory-b2c へ変更。

Note: BOMでバージョン指定のため、ライブラリ毎のバージョン指定は不要。

依存関係の変更

以下ライブラリから org.springframework.boot:spring-boot-starter-validation への依存を消した。

  • spring-cloud-azure-starter
  • spring-cloud-azure-starter-active-directory
  • spring-cloud-azure-starter-active-directory-b2c

だから、上記3ライブラリのどれかを取り込むことで spring-boot-starter-validation を利用していた人は 自分でbuild.gradleのdependenciesへ追加してねの注意。

プロパティの移行

プロパティを移行したら、過去プロパティで継続利用したい場合は設定を追加しての注意。
この後にレガシと最新のプロパティのマッピングがあるのでそれに従って、最新のプロパティに変えちゃえばいいと思う。なので、この設定はしなくてOK。

各 SDK を構成する

以降、各ライブラリの変更点の詳細。
AD B2Cは、単にプロパティ名とクラス/パッケージ名が変わってるだけっぽい。

AD B2Cの変更点 - プロパティ

プロパティの「レガシ」と「最新」マッピングまとまっているのでこの通りに変更する。
基本は名前が変わっているだけで、指定する値はいままで通りで良さそう。
なんだけど、以下の通り spring.cloud.azure.active-directory.b2c.enabled = true の追加が必要。

Azure AD B2C 関連機能を有効または無効にするための新しいプロパティ spring.cloud.azure.active-directory.b2c.enabled が追加されました。 既定値は false です。

AD B2Cの変更点 - クラス

パッケージ/クラスの「レガシ」と「最新」マッピングまとまっているのでこの通りに変更する。
基本は名前が変わっているだけで、いままで通り使えそう。