Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

이메일/비밀번호 사용자 관리 - 웹 SDK

이 페이지의 내용

  • 개요
  • 새 사용자 계정 등록
  • 신규 사용자의 이메일 주소 확인
  • 사용자 확인 완료
  • 사용자 확인 방법 재시도
  • 확인 이메일 재전송
  • 사용자 확인 함수 재시도
  • 사용자 비밀번호 재설정
  • 비밀번호 재설정 이메일 보내기
  • 비밀번호 재설정 함수 호출
  • 비밀번호 재설정 완료

Web SDK 에는 이메일/비밀번호 인증 제공자와 연결된 사용자를 관리 수 있는 클라이언트 객체 가 포함되어 있습니다.

새 이메일/비밀번호 사용자를 등록하려면 사용자의 이메일 주소와 원하는 비밀번호로 registerUser() 메서드를 호출합니다. 다른 이메일/비밀번호 사용자와 관련이 없는 이메일 주소를 사용해야 하며 비밀번호는 6자에서 128자 사이여야 합니다.

const email = "someone@example.com";
const password = "Pa55w0rd!";
await app.emailPasswordAuth.registerUser({ email, password });

참고

신규 사용자 확인

신규 사용자가 앱에 로그인하려면 먼저 신규 사용자의 이메일 주소를 확인 해야 합니다.

제공자가 신규 사용자를 자동으로 확인하도록 구성하지 않는 한, 신규 사용자는 앱에 로그인하기 전에 이메일 주소 소유 여부를 확인해야 합니다.

제공자 가 확인 이메일 을 보내도록 구성된 경우, 사용자가 등록하면 Atlas App Services 에서 자동으로 확인 이메일 을 보냅니다. 이메일 에는 이메일 전송 후 30 분 동안 유효한 토큰으로 구성된 Email Confirmation URL 에 대한 링크가 포함되어 있습니다. 사용자가 초기 이메일 을 받지 못했거나 제때 확인 링크를 클릭하지 않은 경우 SDK를 사용하여 확인 이메일 을 다시 보낼 수 있습니다.

또는 제공자가 확인 함수를 실행 하도록 구성된 경우 Atlas App Services는 사용자가 등록할 때 사용자 지정 Atlas Function 를 자동으로 실행합니다. 사용자 지정 확인 함수에 대한 호출이 실패하면 SDK를 사용하여 사용자 확인 함수를 다시 시도할 수 있습니다.

등록된 사용자를 확인하고 로그인을 허용하려면 유효한 tokentokenId이(가) 필요합니다. 이러한 값은 공급자 구성에 따라 다른 위치에서 사용할 수 있습니다.

  • 제공자가 확인 이메일을 보내도록 설정된 경우 tokentokenId 값이 Email Confirmation URL 쿼리 매개변수로 포함됩니다.

  • 제공자 가 확인 함수를 실행 하도록 설정하다 경우 tokentokenId 값이 함수에 인수로 전달됩니다.

등록된 사용자를 확인하려면 사용자의 유효한 tokentokenId을(를) 사용하여 confirmUser() 메서드를 호출합니다:

await app.emailPasswordAuth.confirmUser({ token, tokenId });

SDK는 사용자 확인 이메일을 재전송하거나 사용자 지정 확인 방법을 재시도할 수 있는 방법을 제공합니다.

사용자에게 확인 이메일을 재전송하려며 사용자의 이메일 주소로 resendConfirmationEmail() 메소드를 호출하세요.

const email = "someone@example.com"; // The user's email address
await app.emailPasswordAuth.resendConfirmationEmail({ email });

Realm 버전의 새로운 기능: Web v1.4.0

사용자 지정 확인 함수 를 다시 실행하려면 사용자의 이메일 주소로 retryCustomConfirmation() 메서드를 호출합니다.

const email = "someone@example.com"; // The user's email address
await app.emailPasswordAuth.retryCustomConfirmation({ email });

제공자가 비밀번호 재설정 이메일을 보내도록 구성된 경우 SDK를 사용하여 사용자에게 비밀번호 재설정 이메일을 보낼 수 있습니다. 이메일에는 구성된 Password Reset URL 에 대한 링크가 포함되어 있습니다.

// The user's email address
const email = "joe.jasper@example.com";
await app.emailPasswordAuth.sendResetPasswordEmail({ email });

제공자가 비밀번호 재설정 함수를 실행하도록 구성된 경우 SDK를 사용하여 함수를 실행할 수 있습니다. 사용자의 이메일과 새 비밀번호가 포함된 객체를 전달합니다. App Services 백 엔드의 암호 재설정 함수에 사용할 추가 인수를 포함할 수도 있습니다.

// The user's email address
const email = "joe.jasper@example.com";
// The new password to use
const password = "newPassw0rd";
// Additional arguments for the reset function
const args = [];
await app.emailPasswordAuth.callResetPasswordFunction(
{ email, password },
...args
);

사용자가 비밀번호 재설정 이메일 을 보내 거나 비밀번호 재설정 함수를 호출하여 비밀번호 재설정 을 요청하면 Realm 은 30 분 이내에 비밀번호 재설정을 완료하는 데 사용할 수 있는 고유한 tokentokenId 값 쌍을 생성합니다. 초기 요청 의 .

await app.emailPasswordAuth.resetPassword({
password: "newPassw0rd",
token,
tokenId,
});

예시

토큰 및 토큰 ID 가져오기

제공자가 기본 제공 비밀번호 재설정 이메일을 사용하는 경우 tokentokenId이(가) 비밀번호 재설정 URL에 쿼리 매개변수로 포함됩니다. 다음과 같이 액세스할 수 있습니다.

const params = new URLSearchParams(window.location.search);
const token = params.get("token");
const tokenId = params.get("tokenId");
if (!token || !tokenId) {
throw new Error(
"You can only call resetPassword() if the user followed a confirmation email link"
);
}

돌아가기

사용자 인증 - 웹 SDK