重要
2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください。
Azure Active Directory B2C (Azure AD B2C) アプリケーションにサインアップおよびサインインするための ID プロバイダーを設定する場合は、Azure AD B2C ID プロバイダーのエンドポイントを指定する必要があります。 Azure AD B2C を使用してユーザーを認証するために、アプリケーションと API で login.microsoftonline.com を参照しなくなりました。 代わりに、すべてのアプリケーション に b2clogin.com または カスタム ドメイン を使用します。
この変更が適用されるエンドポイント
b2clogin.com への移行は、Azure AD B2C ポリシー (ユーザー フローまたはカスタム ポリシー) を使用してユーザーを認証する認証エンドポイントにのみ適用されます。 これらのエンドポイントには、Azure AD B2C で使用するポリシーを指定する <policy-name> パラメーターがあります。
Azure AD B2C ポリシーの詳細を確認します。
古いエンドポイントは次のようになります。
-
https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorizeまたはhttps://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>、/authorizeのエンドポイント用です。 -
https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logoutまたはhttps://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name>、/logoutのエンドポイント用です。
対応する更新されたエンドポイントは、次のエンドポイントのようになります。
-
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorizeエンドポイントではhttps://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>または/authorize。 -
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logoutエンドポイントではhttps://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name>または/logout。
Azure AD B2C カスタム ドメイン では、対応する更新されたエンドポイントは次のエンドポイントのようになります。 次のいずれかのエンドポイントを使用できます。
-
https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorizeエンドポイントではhttps://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>または/authorize。 -
https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logoutエンドポイントではhttps://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name>または/logout。
影響を受けないエンドポイント
一部のお客様は、Microsoft Entra エンタープライズ テナントの共有機能を使用しています。 たとえば、Azure AD B2C テナントの MS Graph API を呼び出すアクセス トークンを取得します。
この変更は、URL にポリシー パラメーターが含まれていないすべてのエンドポイントに影響を与えるわけではありません。 これらは Microsoft Entra ID の login.microsoftonline.com エンドポイントでのみアクセスされ、 b2clogin.com またはカスタム ドメインでは使用できません。 次の例は、Microsoft ID プラットフォームの有効なトークン エンドポイントを示しています。
https://login.microsoftonline.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token
ただし、ユーザーを認証するトークンのみを取得する場合は、アプリケーションがユーザーの認証に使用するポリシーを指定できます。 この場合、更新された /token エンドポイントは次の例のようになります。
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/tokenを使用する場合はhttps://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token?p=<policy-name>または 。カスタム ドメインを使用するときは、
https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/tokenまたはhttps://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token?p=<policy-name>を使用します。
必要な変更の概要
Azure AD B2C エンドポイントを使用してアプリケーションを login.microsoftonline.com から移行するには、いくつかの変更が必要になることがあります。
- ID プロバイダーのアプリケーションのリダイレクト URL を、 b2clogin.com またはカスタム ドメインを参照するように変更します。 詳細については、 変更 ID プロバイダーのリダイレクト URL ガイダンスに 従ってください。
- ユーザー フローとトークン エンドポイントの参照で b2clogin.com またはカスタム ドメインを使用するように Azure AD B2C アプリケーションを更新します。 変更には、Microsoft Authentication Library (MSAL) などの認証ライブラリの使用の更新が含まれる場合があります。
- ユーザー インターフェイスのカスタマイズのために CORS 設定で定義した許可される配信元を更新します。
ID プロバイダーのリダイレクト URL を変更する
アプリケーションを作成した各 ID プロバイダーの Web サイトで、login.microsoftonline.com ではなく、your-tenant-name.b2clogin.comまたはカスタム ドメインにリダイレクトするようにすべての信頼された URL を変更します。
b2clogin.com リダイレクト URL には、2 つの形式を使用できます。 1 つ目は、テナント ドメイン名の代わりにテナント ID (GUID) を使用して、URL 内のどこにも "Microsoft" を表示しないという利点を提供します。
authresp エンドポイントにポリシー名が含まれていない場合があることに注意してください。
https://{your-tenant-name}.b2clogin.com/{your-tenant-id}/oauth2/authresp
2 番目のオプションでは、テナント ドメイン名が your-tenant-name.onmicrosoft.com の形式で使用されます。 例えば次が挙げられます。
https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp
両方の形式の場合:
-
{your-tenant-name}を Azure AD B2C テナントの名前に置き換えます。 - URL に
/teが存在する場合は削除します。
アプリケーションと API を更新する
Azure AD B2C 対応アプリケーションと API のコードは、いくつかの場所で login.microsoftonline.com を参照している場合があります。 たとえば、コードにユーザー フローとトークン エンドポイントへの参照があるとします。 代わりに your-tenant-name.b2clogin.comを参照するように次を更新します。
- Authorization endpoint (承認エンドポイント)
- トークンエンドポイント
- トークン発行者
たとえば、Contoso のサインアップ/サインイン ポリシーの機関エンドポイントは次のようになります。
https://contosob2c.b2clogin.com/00000000-0000-0000-0000-000000000000/B2C_1_signupsignin1
OWIN ベースの Web アプリケーションを b2clogin.com に移行する方法については、「 OWIN ベースの Web API を b2clogin.com に移行する」を参照してください。
Azure AD B2C によって保護された Azure API Management API の移行については、「Azure AD B2C を使用して Azure API Management API をセキュリティで保護する」の「b2clogin.com への移行」セクションを参照してください。
Microsoft Authentication Library (MSAL)
MSAL.NET の ValidateAuthority プロパティ
v2 以前 MSAL.NET 使用している場合は、クライアントインスタンス化時に ValidateAuthority プロパティをfalseに設定して、b2clogin.com へのリダイレクトを許可します。 MSAL.NET v3 以降では、この値を false に設定する必要はありません。
ConfidentialClientApplication client = new ConfidentialClientApplication(...); // Can also be PublicClientApplication
client.ValidateAuthority = false; // MSAL.NET v2 and earlier **ONLY**
MSAL for JavaScript の validateAuthority プロパティ
JavaScript v1.2.2 以前 の MSAL を 使用している場合は、 validateAuthority プロパティを false に設定します。
// MSAL.js v1.2.2 and earlier
this.clientApplication = new UserAgentApplication(
env.auth.clientId,
env.auth.loginAuthority,
this.authCallback.bind(this),
{
validateAuthority: false // Required in MSAL.js v1.2.2 and earlier **ONLY**
}
);
MSAL.js 1.3.0 以降 (既定値) で validateAuthority: true を設定する場合は、 knownAuthoritiesを使用して有効なトークン発行者も指定する必要があります。
// MSAL.js v1.3.0+
this.clientApplication = new UserAgentApplication(
env.auth.clientId,
env.auth.loginAuthority,
this.authCallback.bind(this),
{
validateAuthority: true, // Supported in MSAL.js v1.3.0+
knownAuthorities: ['tenant-name.b2clogin.com'] // Required if validateAuthority: true
}
);
関連コンテンツ
OWIN ベースの Web アプリケーションを b2clogin.com に移行する方法については、「 OWIN ベースの Web API を b2clogin.com に移行する」を参照してください。
Azure AD B2C によって保護された Azure API Management API の移行については、「Azure AD B2C を使用して Azure API Management API をセキュリティで保護する」の「b2clogin.com への移行」セクションを参照してください。