Microsoft Azure 上でクラウドネイティブなシステムを作る際は、ユーザー情報管理や認証処理を Azure AD B2C を利用して実現することが一般的です。
本記事では、Microsoft Graph API を利用して Azure AD B2C 上のユーザー情報を作成、更新、削除する方法を紹介します。
前提条件
- Azure AD B2C テナントが作成済みであること
- Azure AD B2C テナントに Azure AD B2C 用ユーザーが作成されていること
- Microsoft Graph アプリケーションを登録されていること
- クライアント側は Spring-Boot ベースの Java アプリケーション
pom.xml
作成編を参考にしてください。
Azure AD B2C ユーザーの ObjectId を確認する
Azure AD B2C ユーザーの削除は、対象ユーザーの ObjectId が必要になります。
ObjectId は、ユーザーのプロファイル画面から確認できます。
Azure AD B2C ユーザーの削除
@Test
void deleteUser() {
/**
* Azure AD B2C 上にユーザーを削除
*/
createIGraphServiceClient(
CLIENT_ID,
CLIENT_SECRET,
DOMAIN_NAME).users(OBJECT_ID_FOR_DELETE)
.buildRequest().delete(); // (*1) (*2)
}
(*1) IGraphServiceClient オブジェクトの users メソッドの引数は、削除対象ユーザーの ObjectId になります。
(*2) ユーザー作成時は post メソッドでしたが、ユーザー削除時は、delete メソッドになります。
##削除時の Exception について
指定した ObjectId のユーザーが Azure AD B2C 上に存在しない場合は、以下の Excepiton が発生します。
重大: Throwable detail: com.microsoft.graph.http.GraphServiceException: Error code: Request_ResourceNotFound
エラーハンドリング処理の記述を忘れないように気をつけてください。
##実行結果
上記を実行すると、Azure AD B2C 上の指定した ObjectId のユーザーが削除されていることが確認できます。
以上で「Microsoft Graph API を利用した Azure AD B2C のユーザー操作」の記事は終わりになります。
本記事の前段で、ユーザー作成と更新の方法を紹介していますので、良ければご覧ください。
ユーザー作成編
ユーザー更新編
Azure AD B2C では、MFA 認証もサポートしており、ユーザー作成と一緒に、2 要素認証用電話番号の操作(作成、更新)を実施したい場合もあるかもしれません。
現時点( 2021/4 現在)で Graph API は、2 要素認証用電話番号の操作を Beta 版でサポートしています。
別の記事で、2 要素認証用電話番号 を Graph API で操作する方法について、ご紹介します。
読んで頂きありがとうございました。
####検証コード
https://github.com/ksper911/graphapi-for-azureadb2c
####Graph API リファレンス
https://docs.microsoft.com/ja-jp/graph/api/user-delete?view=graph-rest-1.0&tabs=http