사용자 정의 일회용 암호 전달 프로세스
Salesforce 기본 공급자 대신 사용자 정의 일회용 암호(OTP) 배달 공급자를 사용하는 경우 공급자가 최종 사용자에게 OTP 메시지를 보냅니다.
필수 Edition
| 지원 제품: Salesforce Classic(일부 조직에서 사용할 수 없음) 및 Lightning Experience 모두 |
| 지원 제품: Professional, Enterprise, Unlimited, Developer Edition |
사용자 정의 OTP 전달은 Auth.CustomOneTimePasswordDeliveryHandler 인터페이스를 구현하는 Apex 처리기를 사용합니다. 인터페이스는 여러 매개 변수(Salesforce에서 생성한 OTP, 사용자의 전화 번호, 사용자 ID, Experience Cloud 사이트 ID 등)를 전달하는 sendOneTimePassword 메서드를 사용합니다. 사용자 정의 코드를 사용하여 메시지 내용을 작성할 수 있습니다. 메시지를 보내기 위해 처리기가 공급자에서 호스팅되는 Messaging 끝점에 API 콜아웃을 만든 다음, 응답을 처리합니다.
이 프로세스는 외부 사용자가 SMS를 사용하여 ID를 확인해야 할 때마다 시작할 수 있습니다. 입력 지점은 사용 사례에 따라 다릅니다. 다음 사용 사례는 SMS를 사용하여 ID 확인을 지원합니다.
예를 들어 무암호 로그인을 사용하는 경우 사용자가 Experience Cloud 사이트 로그인 페이지로 이동하고 로그인할 전화 번호를 입력하면 이 플로가 시작될 수 있습니다.
- Salesforce는 사용자 정의 OTP 전달 Apex 처리기에서
sendOneTimePassword메서드를 호출합니다. - Apex 구현물은
sendOneTimePassword메서드를 사용하여 인증된 요청을 공급자의 호출 엔드포인트에 보냅니다. 요청에는 사용자의 ID, 전화 번호, 메시지 콘텐츠, Salesforce OTP, 공급자가 요구하는 기타 모든 매개 변수가 포함됩니다.
노트 Apex 구현은 제공자와 연결하고 SMS 메시지를 전달할 책임이 있습니다. Salesforce에서는 기본적으로 이 기능을 제공하지 않습니다. - 공급자가 응답을 반환하며 Apex 처리기가 캡처하고 처리합니다. 응답을 처리하는 방법은 제공자에 따라 다릅니다.
- 응답이 성공하면 처리기가
Auth.CustomOneTimePasswordDeliveryResult열거 값SUCCESS를 반환합니다. - 공급자가 사용자의 전화 번호로 OTP를 보냅니다.
- 사용자가 Experience Cloud 사이트 확인 양식에 OTP를 입력합니다.
- Salesforce가 OTP를 확인합니다. 이 단계는 사용 사례에 따라 다릅니다. 예를 들어, 무암호 로그인의 경우
System.UserManagement클래스의verifyPasswordlessLogin메서드를 사용할 수 있습니다. - 사용자 ID는 사용 사례에 따라 로그인되거나 등록됩니다.
이 기사를 통해 문제를 해결했습니까?
개선을 위한 의견을 보내주세요.
