중요합니다
2025년 5월 1일부터 새 고객을 위해 Azure AD B2C를 더 이상 구매할 수 없습니다. FAQ에서 자세히 알아보세요.
Azure AD B2C(Azure Active Directory B2C) 애플리케이션에서 등록 및 로그인을 위해 ID 공급자를 설정하는 경우 Azure AD B2C ID 공급자의 엔드포인트를 지정해야 합니다. Azure AD B2C를 사용하여 사용자를 인증하기 위해 애플리케이션 및 API에서 더 이상 login.microsoftonline.com 참조하지 않아야 합니다. 대신 모든 애플리케이션에 b2clogin.com 또는 사용자 지정 도메인 을 사용합니다.
이 변경 내용이 적용되는 엔드포인트는 무엇인가요?
b2clogin.com 전환은 Azure AD B2C 정책(사용자 흐름 또는 사용자 지정 정책)을 사용하여 사용자를 인증하는 인증 엔드포인트에만 적용됩니다. 이러한 엔드포인트에는 <policy-name> Azure AD B2C에서 사용해야 하는 정책을 지정하는 매개 변수가 있습니다.
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>b2clogin.com 사용하는 경우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 애플리케이션을 업데이트합니다. 변경 내용에는 MSAL(Microsoft 인증 라이브러리)과 같은 인증 라이브러리의 사용을 업데이트하는 것이 포함될 수 있습니다.
- 사용자 인터페이스 사용자 지정을 위해 CORS 설정에서 정의한 허용된 원본을 업데이트합니다.
ID 공급자 리디렉션 URL 변경
애플리케이션을 만든 각 ID 공급자의 웹 사이트에서 모든 신뢰할 수 있는 URL을 리디렉션하도록 your-tenant-name.b2clogin.com변경하거나 login.microsoftonline.com 대신 사용자 지정 도메인으로 변경합니다.
b2clogin.com 리디렉션 URL에 사용할 수 있는 두 가지 형식이 있습니다. 첫 번째는 테넌트 도메인 이름 대신에 테넌트 ID(GUID)를 사용하여 URL의 아무 곳에도 "Microsoft"가 표시되지 않도록 하는 이점을 제공합니다. 엔드포인트에 authresp 정책 이름이 포함되지 않을 수 있습니다.
https://{your-tenant-name}.b2clogin.com/{your-tenant-id}/oauth2/authresp
두 번째 옵션은 테넌트 도메인 이름을 다음과 같은 형식 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를 참조하도록 업데이트합니다.
- 권한 부여 엔드포인트
- 토큰 엔드포인트
- 토큰 발급자
예를 들어 Contoso의 등록/로그인 정책에 대한 권한 엔드포인트는 이제 다음과 같습니다.
https://contosob2c.b2clogin.com/00000000-0000-0000-0000-000000000000/B2C_1_signupsignin1
OWIN 기반 웹 애플리케이션을 b2clogin.com 마이그레이션하는 방법에 대한 자세한 내용은 OWIN 기반 웹 API를 b2clogin.com 마이그레이션을 참조하세요.
Azure AD B2C로 보호되는 Azure API Management API를 마이그레이션하려면 Azure AD B2C 를 사용하여Azure API Management API 보안의 b2clogin.com 섹션으로 마이그레이션을 참조하세요.
MSAL(Microsoft 인증 라이브러리)
MSAL.NET의 ValidateAuthority 속성
MSAL.NET v2 이하를 사용하는 경우 클라이언트 인스턴스화에서 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**
JavaScript의 validateAuthority 속성에 대한 MSAL
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 기반 웹 애플리케이션을 b2clogin.com 마이그레이션하는 방법에 대한 자세한 내용은 OWIN 기반 웹 API를 b2clogin.com 마이그레이션을 참조하세요.
Azure AD B2C로 보호되는 Azure API Management API를 마이그레이션하려면 Azure AD B2C 를 사용하여Azure API Management API 보안의 b2clogin.com 섹션으로 마이그레이션을 참조하세요.