자습서: Azure Active Directory B2C에서 웹 애플리케이션 등록

애플리케이션이 Azure AD B2C(Azure Active Directory B2C)와 상호 작용하려면 먼저 사용자가 관리하는 테넌트에 등록되어야 합니다. 이 자습서에서는 Azure Portal을 사용하여 웹 애플리케이션을 등록하는 방법을 보여줍니다.

"웹 애플리케이션"은 서버에서 대부분의 애플리케이션 로직을 수행하는 기존의 웹 애플리케이션을 말합니다. ASP.NET Core, Spring(Java), Flask(Python) 또는 Express(Node.js) 등의 프레임워크를 사용하여 빌드할 수 있습니다.

Important

"SPA"(단일 페이지 애플리케이션)를 대신 사용하는 경우(예:Angular, Vue 또는 React 사용) 단일 페이지 애플리케이션을 등록하는 방법을 알아보세요.

네이티브 앱을 대신 사용하는 경우(예: iOS, Android, 모바일 및 데스크톱) 네이티브 클라이언트 애플리케이션을 등록하는 방법을 알아보세요.

필수 조건

  • Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

  • 아직 고유한 Azure AD B2C 테넌트를 만들지 않았다면 지금 만듭니다. 기존 Azure AD B2C 테넌트를 사용해도 됩니다.

웹 애플리케이션 등록

Azure AD B2C 테넌트에 웹 애플리케이션을 등록하려면 새로운 통합 앱 등록을 사용할 수 있습니다. 새 환경에 대해 자세히 알아보세요.

앱 등록

  1. Azure Portal에 로그인합니다.

  2. 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.

  3. Azure Portal에서 Azure AD B2C를 검색한 다음, 선택합니다.

  4. 앱 등록을 선택한 다음, 새 등록을 선택합니다.

  5. 애플리케이션의 이름을 입력합니다. 예를 들어 webapp1과 같습니다.

  6. 지원되는 계정 유형 아래에서 모든 ID 공급자 또는 조직 디렉터리의 계정(사용자 흐름에서 사용자를 인증하는 용도) 을 선택합니다.

  7. 리디렉션 URI에서 을 선택한 다음 URL 텍스트 상자에 https://jwt.ms를 입력합니다.

    리디렉션 URI는 사용자와의 상호 작용을 완료한 후 권한 부여 서버(이 경우에는 Azure AD B2C)에서 사용자를 보내고, 성공적인 권한 부여 시 액세스 토큰 또는 권한 부여 코드를 전송하는 엔드포인트입니다. 프로덕션 애플리케이션에서는 일반적으로 https://contoso.com/auth-response와 같이 앱이 실행되는 공개적으로 액세스할 수 있는 엔드포인트입니다. 이 자습서와 같은 테스트 목적으로 토큰을 디코딩된 토큰 콘텐츠를 표시하는 Microsoft 소유의 웹 애플리케이션 https://jwt.ms로 설정할 수 있습니다(토큰의 콘텐츠가 브라우저에서 벗어나면 안 됨). 앱을 개발하는 동안 애플리케이션이 로컬에서 수신 대기하는 엔드포인트(예: https://localhost:5000)를 추가할 수 있습니다. 언제든지 등록된 애플리케이션에서 리디렉션 URI를 추가하고 수정할 수 있습니다.

    리디렉션 URI에는 다음 제한 사항이 적용됩니다.

    • localhost 리디렉션 URL을 사용하지 않는 한 응답 URL은 https 체계로 시작해야 합니다.
    • 회신 URL은 대/소문자를 구분합니다. 해당 사례는 실행 중인 애플리케이션의 URL 경로에 대한 대/소문자와 일치해야 합니다. 예를 들어, 애플리케이션애서 경로 .../abc/response-oidc의 일부로 포함하는 경우 회신 URL에 .../ABC/response-oidc를 지정하지 마세요. 웹 브라우저는 경로를 대/소문자 구분하여 처리하므로 .../abc/response-oidc와 연결된 쿠키는 대/소문자가 일치하지 않는 .../ABC/response-oidc URL로 리디렉션되는 경우 제외될 수 있습니다.
    • 응답 URL은 애플리케이션에서 예상하는 대로 후행 슬래시를 포함하거나 제외해야 합니다. 예를 들어, https://contoso.com/auth-responsehttps://contoso.com/auth-response/는 애플리케이션에서 일치하지 않는 URL로 처리될 수 있습니다.
  8. 사용 권한 아래에서 openid 및 offline_access 권한에 대한 관리자 동의 허용 확인란을 선택합니다.

  9. 등록을 선택합니다.

앱 등록에서 만든 앱이 표시되지 않으면 포털을 새로 고침합니다.

클라이언트 암호 만들기

웹 애플리케이션의 경우 애플리케이션 비밀을 만들어야 합니다. 클라이언트 암호는 애플리케이션 암호라고도 합니다. 이 비밀은 애플리케이션에서 액세스 토큰의 권한 부여 코드를 교환하는 데 사용됩니다.

앱 등록

  1. Azure AD B2C - 앱 등록 페이지에서 만든 애플리케이션을 선택합니다(예: webapp1).
  2. 왼쪽 메뉴의 관리에서 인증서 및 비밀을 선택합니다.
  3. 새 클라이언트 비밀을 선택합니다.
  4. 설명 상자에 클라이언트 암호에 대한 설명을 입력합니다. 예: clientsecret1.
  5. 만료에서 암호가 유효한 기간을 선택한 다음 추가를 선택합니다.
  6. 클라이언트 애플리케이션 코드에서 사용할 비밀 을 기록합니다. 이 비밀 값은 이 페이지에서 나가면 다시 표시되지 않습니다. 이 값을 애플리케이션의 코드에서 애플리케이션 비밀로 사용합니다.

참고 항목

보안을 위해 주기적으로 또는 응급 상황이 발생할 경우 즉시 애플리케이션 비밀을 롤오버할 수 있습니다. Azure AD B2C와 통합되는 모든 애플리케이션은 발생 빈도에 관계없이 비밀 롤오버 이벤트를 처리할 준비가 되어 있어야 합니다. 두 개의 애플리케이션 비밀을 설정하여 애플리케이션이 애플리케이션 비밀 회전 이벤트 동안 이전 비밀을 계속 사용할 있습니다. 다른 클라이언트 암호를 추가하려면 이 섹션의 단계를 반복합니다.

ID 토큰 암시적 허용 사용

이 앱을 등록하고 사용자 흐름 또는 사용자 지정 정책을 테스트하기 위해 https://jwt.ms/ 앱으로 구성하는 경우 앱 등록에서 암시적 허용 흐름을 사용하도록 설정해야 합니다.

  1. 왼쪽 메뉴의 관리 아래에서 인증을 선택합니다.

  2. 암시적 허용 및 하이브리드 흐름에서 액세스 토큰(암시적 흐름에 사용)D 토큰(암시적 및 하이브리드 흐름에 사용) 확인란을 모두 선택합니다.

  3. 저장을 선택합니다.

다음 단계

이 문서에서는 다음 방법에 대해 알아보았습니다.

  • 웹 애플리케이션 등록
  • 클라이언트 암호 만들기

Azure Active Directory B2C에서 사용자 흐름을 만드는 방법을 알아봅니다.