Loading
시스템 관리자에 대한 피싱 방지 MFA 및 전 직원사용자 MFA 적용 안내 더 많이 읽기
현재 다수의 문의가 발생하여 대응에 지연이 발생하고 있습니다.더 많이 읽기
사용자 식별 및 액세스 관리
사용자 정의 ID 확인 페이지 만들기

사용자 정의 ID 확인 페이지 만들기

이메일, SMS, 시간 기반 일회용 암호(TOTP), 물리적 U2F 보안 키 또는 Salesforce Authenticator와 같은 다양한 확인 메서드를 사용자가 등록 및 등록 취소할 수 있도록 무암호 로그인을 사용할 수 있습니다. 그런 다음, 사용자가 확인 메서드를 사용하여 로그인할 수 있습니다. 자체 확인 페이지를 만들고 Apex로 확인 프로세스를 사용자 정의합니다.

필수 Edition

지원 제품: Enterprise, Performance, Unlimited, Developer Edition

기본적으로 무암호 로그인을 구현할 때 Salesforce가 ID 확인 프로세스를 수행합니다. 확인 코드를 보내고 사용자가 코드를 입력할 수 있는 확인 페이지를 표시한 다음, 사용자 ID를 확인합니다. Salesforce는 아래의 기본 확인 페이지를 제공합니다.

기본 Salesforce 확인 페이지

Visualforce를 사용하여 자체 확인 페이지를 만들고 레이아웃을 완벽히 제어할 수 있습니다. Apex 컨트롤러에서 ID 확인 프로세스를 제어할 수도 있습니다. 사용자 정의 확인 페이지의 다음 예는 서로 다른 글꼴, 색 및 레이아웃을 사용합니다. 원활한 무암호 로그인 환경을 위해 별도의 확인 페이지 대신 사용자는 확인 코드를 수신하고 로그인 페이지에 직접 입력합니다.

사용자 정의 확인 페이지
  1. Visualforce 페이지를 만듭니다. 콘텐츠 및 레이아웃 사용자 정의에 대한 자세한 내용은 Salesforce 도움말에서 Visualforce를 참조하십시오.
  2. 설정에서 빠른 찾기 상자에 Visualforce 페이지를 입력한 다음, Visualforce 페이지를 선택합니다.
  3. ID 확인을 위해 만든 Visualforce 페이지를 클릭합니다.
  4. 편집을 클릭합니다.
  5. 자체 확인 프로세스를 구현하려면 System.UserManagement 클래스에서 Apex 메서드를 사용합니다. 메서드는 한 쌍을 이루며, 한 메서드는 확인 코드를 전송하고 한 메서드는 확인 코드가 올바른지 확인하는 용도입니다. ID 확인이 필요한 상황에 따라 사용하는 메서드가 결정됩니다.
    • 새 사용자를 등록하려면 initSelfRegistrationverifySelfRegistration를 사용하십시오.
    • 사용자를 로그인하려면 initPasswordlessLoginverifyPasswordlessLogin를 사용합니다.
    • 사용자의 확인 방법을 등록하려면 initRegisterVerificationMethodverifyRegisterVerificationMethod를 사용합니다.
    자세한 내용은 Apex 참조 가이드에서 UserManagement 클래스를 참조하십시오.

확인 프로세스 사용자 정의를 위한 예제 구현

이 코드 예는 확인 메서드 등록용 확인 페이지를 사용자 정의합니다. 사용자가 Visualforce 페이지에 확인 코드를 입력하면 registerUser()를 호출합니다. 메서드를 통해 확인 메서드 및 사용자 전화 번호를 등록하는 사용자의 사용자 ID를 가져오며, 사용자의 등록 상태를 가져와 전화 번호가 이미 확인된 상태인지 여부를 점검합니다. 사용자가 다른 전화 번호로 등록된 경우 번호는 업데이트됩니다.

public void registerUser() {
        try {
            exceptionText='';
            String userId = UserInfo.getUserId();
            User u = [Select MobilePhone, Id from User Where Id=:userId];
             currPhone = u.MobilePhone;
             mobilePhone = getFormattedSms(mobilePhone); 
           if (mobilePhone != null && mobilePhone != '') {
           u.MobilePhone = mobilePhone;
           update u;
            // We're updating the email and phone number before verifying. Roll back  
           //  the change in the verify API if it is unsuccessful.
            exceptionText = System.
            UserManagement.initRegisterVerificationMethod(Auth.VerificationMethod.SMS);
            if(exceptionText!= null && exceptionText!=''){
                isInit = false;
                showInitException = true;
            } else {
                 isInit = false;
                 isVerify = true;
            }
            } else {
                showInitException = true;
            }
        } catch (Exception e) {
            exceptionText = e.getMessage();
            isInit = false;
            showInitException = true;
        }
    }

public void verifyUser() {
    // Take the user’s input for the code sent to their phone number
    exceptionText = System.UserManagement.
        verifyRegisterVerificationMethod(code, Auth.VerificationMethod.SMS);
    if(exceptionText != null && exceptionText !=''){
    showInitException = true;
    } else {
            //Success    
    }
}
 
로드 중
Salesforce Help | Article