はじめに
Azure Active Directoryを使った認証機能をSpring Bootを使ったWebアプリに対して実施してみることにしました。
前提事項
本エントリー執筆時、Spring Bootの最新版安定版は2.4.2なのですが、今回使うazure-spring-boot-starter-active-directoryがSpring Boot 2.4.2に対応してないようでSpring Initializrで選択しようとしてもできませんでした。
そのためこのエントリーではSpring Bootのバージョンを2.3.8にしました。
実装
Azure SDK for Javaのリポジトリにサンプルコードが公開されています。
ほとんどここに書かれているものをトレースするだけです。
本エントリー執筆時、README.mdにはRedirect URLsの設定をhttp://localhost:8080/login/oauth2/code/
にする旨が書かれていますが、この記述では以下の画像のような画面が出てログイン処理に失敗します。
私の場合はhttp://localhost:8080/login/oauth2/code/azure
にすることで動きました。
ログイン処理が成功すると、ユーザー名のフルネームが表示されます。
この時点でのソースはこちら。