しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Active Directory B2C

Azure AD B2C のサインイン用メールアドレスを変更する

Azure AD B2C を使ってローカルアカウントのサインアップを実装するのが非常に簡単なのですが、用意されているユーザーフローでは登録時に使用したメールアドレスを変更出来ないという問題が出てきます。プロフィールの編集やパスワードのリセット機能はあり…

複数の Azure AD テナントに対応した Service Principal を作成して Terraform から利用する

App Service と Azure AD B2C というように Azure AD テナントが分かれている場合には、いつも通りの Service Principal を使った方法だと、当然ながらどちらかのテナントしか操作できません。以前書いたように Azure AD B2C 側のアプリケーションを管理しつ…

App Service Authentication と Azure AD B2C の組み合わせでログアウトを正しく実装する

少し前に App Service Authentication が OpenID Connect に対応したので、様々な IdP を利用することが出来るようになりました。Azure AD B2C も OIDC 対応によって正式利用が可能になった IdP の一つです。 ログアウト後のリダイレクト先を指定する App Se…

Azure AD B2C のカスタムポリシー利用に必要なアプリケーションを Terraform を使って登録する

最近の Azure AD B2C は組み込みユーザーフローの機能がかなり増えているので、ある程度のことなら Azure Portal からの設定で実現できますが、結局は IEF を使ったカスタムポリシーが必要になるケースも多いです。Azure AD B2C のカスタムポリシーは触った…

Terraform Provider for Azure AD を使って Azure AD B2C で利用するアプリケーションを管理する

未だ個人的な Terraform Provider for Azure AD ブームが続いているので、今回は Azure AD B2C の管理を目的に利用してみます。Azure サブスクリプションが紐づく Azure AD テナントとは異なり、サブスクリプションは持たず独立したテナントとなるので、扱い…

Azure AD における Client Secret の期限切れ問題を Terraform でスマートに解決する

Azure AD にアプリケーションや Service Principal を作成すると大体必要になる Client Secret ですが、有効期限を持っているので期限が切れる前に新しい Client Secret を生成する必要があります。昔は無期限で作成することも出来ましたが、今はセキュリテ…

Azure AD B2C が標準で TOTP (Authenticator App) を使った多要素認証に対応したので試した

これまでも Azure AD B2C ではカスタムポリシーと外部 API を用意すれば、Microsoft Authenticator や Authy などの TOTP に対応したアプリケーションを使った多要素認証が使えていましたが、標準で TOTP に対応したので試しました。ちなみにプレビューです…

Azure AD B2C にカスタムドメインを設定して MSAL (C# / JavaScript) から使ってみた

恐らく Azure AD B2C を使っている人全員が待ち望んでいたカスタムドメイン対応ですが、Front Door と組み合わせる形にはなりますが Preview として公開されました。単純に Front Door をリバースプロキシとして使うだけなのですが、割と現実的な落としどこ…

WPF と WebView2 で MSAL を使わずに Azure AD 向け認可コードフローを実装してみた

普段は App Service の Easy Auth を使ってサクッと済ませるのですが、ちょいちょい MSAL を使った Azure AD や Azure AD B2C へのログイン処理をアプリケーションに組み込むことがあります。特にネイティブアプリケーションの場合が多いので、.NET Core の …

Azure AD B2C が MSAL.js v2 に対応したようなので試した

MSAL.js v2 の RTM 時には Azure AD B2C は CORS 周りの機能がデプロイされていないため非対応になっていましたが、既存のテナントへの CORS 対応のデプロイが進められているようです。自分のテナントで使えるようになっていたので試しました。MSAL.js には…

Azure AD B2C のユーザーを Graph API を使って管理する

Azure AD B2C は後ろが Azure AD なのでユーザー情報は Graph API を使って色々弄れます。Microsoft Graph を使ってユーザー情報を取得したりできますが、B2C に必要なプロパティが Microsoft Graph だとまだサポートされていないので、Azure AD Graph を使…

Azure AD B2C の知識が古かったのでキャッチアップし直した

ちゃんと触ったのが 2 年前と古く、ASP.NET Core も 2.0 の時だったので最新の情報でもろもろキャッチアップし直しました。基本的に Azure AD が嫌いなので B2C も Azure AD ベースでなければという気持ちが強いのですが、価格的に競合よりも使いやすいので…