다음을 통해 공유


Twilio Verify 앱과 Azure Active Directory B2C 통합

중요합니다

2025년 5월 1일부터 새 고객을 위해 Azure AD B2C를 더 이상 구매할 수 없습니다. FAQ에서 자세히 알아보세요.

이 연습에서는 Azure AD B2C(Azure Active Directory B2C)의 샘플 온라인 결제 앱을 Twilio Verify API와 통합하는 방법을 알아봅니다. Azure AD B2C 고객은 Twilio Verify 앱을 사용하여 동적 연결 및 강력한 고객 인증을 통해 PSD2(Payment Services Directive 2) 트랜잭션 요구 사항을 준수할 수 있습니다.

필수 조건

시작하려면 다음이 필요합니다.

시나리오 설명

Twilio 솔루션을 구성하는 구성 요소는 다음과 같습니다.

  • .NET PSD2 데모 웹앱은 로그인 또는 가입하고 더미 고위험 트랜잭션을 수행할 수 있는 기능을 제공합니다.

  • Azure AD B2C 결합 로그인 및 가입 정책.

  • Azure AD B2C 정책이 id_token_hint를 사용하여 Twilio Verify API와 통합되었습니다.

  • .NET 웹 앱은 .well-known OpenIdConnect 엔드포인트를 호스트하여 id_token_hint을(를) 검증할 수 있도록 합니다.

    Twilio 플로우

단계 설명
1 사용자가 PSD2 데모 앱에 대한 로그인 또는 등록을 시작합니다. 사용자는 Azure AD B2C 결합 로그인 및 등록 정책을 통해 인증됩니다. 토큰이 애플리케이션으로 반환됩니다. 등록 시 사용자의 전화 번호는 SMS/전화를 사용하여 확인되고 Azure AD B2C 계정에 기록됩니다.
2 사용자가 $50.00의 이체와 같은 고위험 거래를 시작합니다. 사용자의 현재 액세스 토큰은 PolicyId에 대해 평가되어 사용자가 Step-Up 사용자 지정 정책을 통해 이미 인증되었는지 확인합니다.
3 애플리케이션은 트랜잭션 금액과 수취인, $50.00 및 John Doe를 기록하고 서명된 토큰을 생성합니다. 이 토큰은 id_token_hint이라고 하며, amount:$500, payee:john doe이라는 클레임을 포함합니다. id_token_hint Twilio와 통합된 Azure AD B2C 사용자 지정 정책으로 요청과 함께 전송됩니다.
4 Azure AD B2C는 애플리케이션 /.well-known OpenId Connect 엔드포인트를 확인하여 id_token_hint의 서명을 확인합니다. 확인 후, 이 토큰에서 클레임을 추출하는데, 특히 amountpayee가 포함됩니다. 사용자는 SMS 메시지를 통해 휴대폰 번호를 확인할 수 있는 페이지를 볼 수 있습니다.
5 사용자는 SMS 메시지를 통해 전화 번호를 확인하도록 요청하고 Azure AD B2C는 Twilio Verify API 엔드포인트에 REST API 요청을 합니다. 또한 트랜잭션 amountpayee PSD2 프로세스의 일부로 전송하여 OTP(One-Time-Passcode)를 생성합니다. Twilio는 사용자의 등록된 전화 번호로 SMS 메시지를 보냅니다.
6 사용자는 SMS 메시지에 수신된 OTP를 입력하고 Azure AD B2C에 제출합니다. Azure AD B2C는 이 OTP를 사용하여 Twilio의 확인 API에 API 요청을 하여 OTP가 올바른지 확인합니다. 마지막으로 애플리케이션에 토큰이 발급되며, 새 PolicyId는 사용자가 인증을 강화했음을 나타냅니다.

Twilio를 사용하여 온보딩

  1. Twilio에서 평가판 계정을 얻습니다.

  2. 이 문서에 설명된 대로 Twilio에서 전화 번호를 구입합니다

  3. Twilio 콘솔에서 Verify API 로 이동하고 지침에 따라 서비스를 만들고 PSD2 옵션을 사용하도록 설정합니다.

PSD2 데모 앱 구성

  1. B2CWebAPI-DotNet 솔루션을 열고 다음 값을 web.config고유한 테넌트별 값으로 바꿉다.

    <add key="ida:Tenant" value="yourtenant.onmicrosoft.com" />
    <add key="ida:TenantId" value="aaaabbbb-0000-cccc-1111-dddd2222eeee" />
    <add key="ida:ClientId" value="00001111-aaaa-2222-bbbb-3333cccc4444" />
    <add key="ida:ClientSecret" value="secret" />
    <add key="ida:AadInstance" value="https://yourtenant.b2clogin.com/tfp/{0}/{1}" />
    <add key="ida:RedirectUri" value="https://your hosted psd2 demo app url/" />
    
  2. 또한 웹앱은 ID 토큰 힌트 생성기 및 메타데이터 엔드포인트를 호스트합니다.

    • 샘플 설명에 설명된 대로 서명 인증서를 만듭니다.

    • web.config의 인증서에 따라 다음 줄을 업데이트합니다.

      <add key="ida:SigningCertThumbprint" value="4F39D6014818082CBB763E5BA5F230E545212E89" />
      <add key="ida:SigningCertAlgorithm" value="RS256" />
      
  3. 선택한 호스팅 제공업체에 데모 애플리케이션을 업로드합니다. Azure App Service에 대한 지침은 인증서를 업로드하기 위한 지침을 포함하여 이 샘플 설명에 제공됩니다.

  4. 응용 프로그램이 호스팅되는 URL에 해당하는 회신 URL을 추가하여 Azure AD B2C 응용 프로그램 등록을 업데이트합니다.

  5. 정책 파일을 열고 의 contoso 모든 인스턴스를 테넌트 이름으로 바꿉니다.

  6. Twilio REST API 기술 프로필 Custom-SMS-Enroll을 찾습니다. Twilio AccountSID 및 발신자 번호를 구매한 전화번호로 업데이트하려면, ServiceURL를 해당 정보로 교체하십시오.

  7. Twilio REST API 기술 프로필, TwilioRestAPI-Verify-Step1TwilioRestAPI-Verify-Step2를 찾아 Twilio AccountSID로 업데이트합니다 ServiceURL .

Azure AD B2C와 통합

Azure AD B2C에 정책 파일을 추가합니다.

  1. Azure AD B2C 테넌트의 B2C IEF 정책 관리자로Azure Portal에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.
  3. Azure Portal의 왼쪽 위 모서리에 있는 모든 서비스를 선택하고 Azure AD B2C를 검색하여 선택합니다.
  4. Azure AD B2C>Identity Experience Framework>정책 키로 이동합니다.
  5. B2cRestTwilioClientId라는 이름의 새 키를 추가합니다. 수동을 선택하고 Twilio AccountSID의 값을 제공합니다.
  6. B2cRestTwilioClientSecret이라는 이름의 새 키를 추가합니다. manual을 선택하고 Twilio AUTH TOKEN의 값을 제공합니다.
  7. 모든 정책 파일을 테넌트에 업로드합니다.
  8. 가입 SMS 텍스트에 대한 GenerateOTPMessageEnrol 클레임 변환의 문자열을 사용자 지정합니다.

솔루션 테스트

  • 응용 프로그램으로 이동하여 로그인, 등록 및 송금 작업을 테스트합니다.

다음 단계

자세한 내용은 다음 문서를 검토하세요.