테스트 전화번호 등록

이 문서에서는 개발 목적으로 Identity Platform에 전화번호를 등록하는 방법을 설명합니다. 이렇게 하면 휴대전화 로그인 및 다단계 인증과 같은 SMS 메시지를 보내는 인증 방식을 테스트할 수 있습니다.

실제 번호가 아닌 테스트 번호를 사용하면 다음과 같은 몇 가지 이점이 있습니다.

  • iOS 및 Android 에뮬레이터와 완벽하게 통합됩니다.
  • 실제 SMS 전송 시 오버헤드가 사라집니다.
  • 제한 없이 동일한 전화번호로 연속 테스트를 실행할 수 있습니다.
  • 보안 확인에 의해 차단되지 않고 통합 테스트를 작성할 수 있습니다.
  • 사용 할당량은 소모되지 않습니다.

개발용으로 최대 10개의 전화번호를 등록할 수 있습니다.

테스트 전화번호 등록

테스트 전화번호를 등록하려면 다음 안내를 따르세요.

  1. Google Cloud Console에서 ID 공급업체 페이지로 이동합니다.
    ID 공급업체 페이지로 이동

  2. 전화 인증을 테스트하는 경우 공급업체 목록에서 인증 기관을 찾은 후 수정 아이콘을 클릭합니다. 다단계 인증을 테스트하는 경우 다단계 SMS 탭을 선택한 다음 수정을 클릭합니다.

  3. 테스트용 전화번호에 등록할 전화번호와 인증 코드를 입력합니다.

    전화번호는 E.164 형식을 사용해야 하며 이미 기존 Identity Platform 사용자에게 할당할 수 없습니다. 인증 코드는 6자리 숫자여야 합니다. 보안상의 이유로 추측하기 어려운 숫자를 선택하고 +1 123-456-7890와 같이 모호한 패턴을 사용하지 마세요.

  4. 저장을 클릭합니다.

테스트 전화번호는 Identity Platform에서 실제 전화번호처럼 취급되므로 안전하게 저장하고 정기적으로 순환해야 합니다.

수동 테스트

앱에서 직접 또는 iOS 및 Android 에뮬레이터를 사용하여 테스트 전화번호를 즉시 사용할 수 있습니다. 테스트 전화번호로 로그인하면 SMS 인증 코드가 전송되지 않습니다. 대신 테스트 번호를 만들 때 등록한 코드를 입력합니다.

로그인하면 테스트 전화번호를 사용하여 Identity Platform 사용자가 생성됩니다. 이 사용자는 유효한 ID 토큰을 포함하여 실제 사용자와 동일한 동작과 속성을 가지고 있으므로 모든 앱과 서비스에 액세스할 수 있습니다.

테스트 사용자의 액세스를 제한하려면 제한된 권한으로 테스트 역할을 만들고 커스텀 클레임을 사용하여 할당하는 것이 좋습니다.

통합 테스트

클라이언트 SDK에는 수동 테스트 외에도 통합 테스트를 작성할 수 있는 API가 포함되어 있습니다. 이러한 API는 reCAPTCHA 및 앱 인증 요구사항을 사용 중지하므로 자동화를 통해 쉽게 우회할 수 있습니다.

다음 예시는 전화번호로 사용자 로그인 처리를 테스트하는 방법을 보여줍니다.

JavaScript

// Turn off phone app verification.
firebase.auth().settings.appVerificationDisabledForTesting = true;

var phoneNumber = "+16505554567";
var testVerificationCode = "123456";

// Render a fake reCAPTCHA and resolve without app verification.
var appVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
// signInWithPhoneNumber will call appVerifier.verify(), which will resolve
// with a fake reCAPTCHA response.
firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
  .then(function (confirmationResult) {
    // confirmationResult can resolve using testVerificationCode.
    return confirmationResult.confirm(testVerificationCode)
  }).catch(function (error) {
    // Error; SMS not sent
    // ...
  });

앱 인증을 사용 중지하면 보이거나 보이지 않는 모의 reCAPTCHA 인증기가 다르게 작동합니다.

  • 보이는 reCAPTCHA: 사용자 클릭을 시뮬레이션하기 위해 reCAPTCHA는 잠시 후에 자동으로 자체 확인됩니다.

  • 보이지 않는 reCAPTCHA: 앱 인증을 시뮬레이션하기 위해 appVerifier.verify()가 호출되면 reCAPTCHA가 자동으로 확인됩니다.

모의 reCAPTCHA는 해결 또는 만료 시에 콜백을 트리거합니다.

다음 단계

  • 다단계 인증을 , iOS 또는 Android 앱에 추가합니다.