문서 메뉴
문서 홈
/ /
Atlas Device SDK
/ /

managed 이메일/비밀번호 사용자 - .NET SDK

이 페이지의 내용

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

앱에서 이메일/비밀번호 제공자 를 활성화한 경우 새 계정을 등록하고, 이메일 주소를 확인하고, 클라이언트 코드에서 사용자의 비밀번호를 재설정할 수 있습니다.

새 사용자를 등록하려면 사용자가 제공한 이메일과 비밀번호를 RegisterUserAsync() 메서드에 전달합니다.

await app.EmailPasswordAuth.RegisterUserAsync(userEmail, "sekrit");

새로 생성된 사용자를 확인하려면 ConfirmUserAsync() 메서드 에 확인 tokentokenId 를 전달합니다.

참고

모바일 앱에서 딥링크 사용

모바일 애플리케이션은 딥링킹 을 구성하여 앱에서 직접 이메일 확인을처리할 수 있습니다. Android에서는 유니버설 링크 iOS 및/또는 URI 핸들러 에서 UWP(유니버설 Windows 플랫폼)의 경우.

await app.EmailPasswordAuth.ConfirmUserAsync("<token>", "<token-id>");

확인 이메일을 재전송하려면 사용자의 이메일 주소로 ResendConfirmationEmailAsync() 메서드를 호출합니다.

await app.EmailPasswordAuth.ResendConfirmationEmailAsync("<userEmail>");

사용자 지정 함수를 사용하여 확인 이메일을 다시 보내려면 사용자의 이메일 주소로 RetryCustomConfirmationAsync() 메서드를 호출합니다.

await app.EmailPasswordAuth.RetryCustomConfirmationAsync("<userEmail>");

자세한 내용은 Atlas App Services 문서에서 확인 함수 실행 을 참조하세요.

사용자 비밀번호 재설정은 여러 단계를 거쳐야 합니다.

  1. 클라이언트 앱에서는 사용자가 비밀번호를 재설정할 수 있는 UI를 제공합니다. 그런 다음 App Services App은 이메일을 보내거나 사용자의 신원을 확인하는 사용자 지정 함수를 실행할 수 있습니다.

  2. 사용자 신원을 확인한 후 비밀번호 재설정 요청을 완료할 수 있습니다.

  3. 비밀번호 재설정이 완료된 후, 사용자는 새로운 비밀번호를 사용하여 로그인할 수 있습니다.

다음으로 이동하여 선호하는 비밀번호 재설정 방법을 선택하세요.

  1. Atlas App Services App

  2. Authentication

  3. Authentication Providers

  4. Email/Password - EDIT 버튼을 누릅니다.

사용자의 신원을 확인하기 위해 비밀번호 재설정 이메일을 보내려면 비밀번호 재설정 이메일을 보내도록 앱을 구성해야 합니다.

비밀번호 재설정 프로세스를 시작하려면 사용자의 이메일로 SendPasswordResetEmailAsync() 를 호출합니다. App Services에서 고유 URL이 포함된 이메일을 사용자에게 보냅니다. 사용자는 30 분 이내에 이 URL을 방문하여 재설정을 확인해야 합니다.

await app.EmailPasswordAuth.SendResetPasswordEmailAsync(userEmail);

비밀번호 재설정 이메일에는 tokentokenId 두 값으로 인코딩된 URL이 포함되어 있습니다. 비밀번호 재설정 절차를 완료하려면 클라이언트에서 또는 백엔드에서 사용자 지정 함수를 호출하여 사용자 비밀번호를 재설정하면 됩니다. SDK를 사용하여 비밀번호 재설정을 완료하려면 이 값을 ResetPasswordAsync()에 전달합니다.

await app.EmailPasswordAuth.ResetPasswordAsync(
myNewPassword, "<token>", "<token-id>");

사용자가 30분 이내에 비밀번호 재설정 이메일에 포함된 URL을 방문하지 않으면 tokentokenId 이(가) 만료됩니다. 비밀번호 재설정 프로세스를 다시 시작해야 합니다.

참고

비밀번호 재설정 이메일에 포함된 token 및 값에 액세스하려면 tokenId Android 딥 링크 를 사용할 수 있습니다.또는 iOS 범용 링크.

비밀번호 재설정 함수를 실행 하도록 앱을 구성할 때는 SDK에서 CallResetPasswordFunctionAsync() 를 호출할 때 실행되어야 하는 함수를 정의합니다. 이 함수는 사용자 이름, 비밀번호 및 여러 개의 추가 인수를 사용할 수 있습니다. 이러한 인수를 사용하여 사용자가 비밀번호 재설정을 성공적으로 완료하기 위해 전달해야 하는 보안 질문 답변 또는 기타 과제와 같은 세부 정보를 지정할 수 있습니다.

비밀번호 재설정 흐름을 직접 정의하려는 경우 사용자 지정 비밀번호 재설정 함수를 사용하는 것이 더 나을 수 있습니다. 예를 들어 특정 도메인에서 사용자 지정 비밀번호 재설정 이메일을 보낼 수 있습니다. 이메일 이외의 서비스를 사용하여 사용자의 신원을 확인할 수도 있습니다.

App Services 측에서 이 메서드를 호출할 때 실행되는 사용자 지정 비밀번호 재설정 함수를 정의합니다. 이 함수는 세 가지 가능한 상태 중 하나를 반환할 수 있습니다.

  • fail

  • pending

  • success

fail 상태는 SDK에서 예외로 처리됩니다. SDK CallResetPasswordFunctionAsync() 는 반환 값을 받지 않으므로 pending 또는 success 상태를 클라이언트에 반환하지 않습니다.

사용자가 신원을 확인하기 위해 몇 가지 추가 단계를 수행하도록 하려는 경우 Atlas App Services 비밀번호 재설정 함수pending 을 반환할 수 있습니다. 그러나 해당 반환 값은 SDK의 CallResetPasswordFunctionAsync() 로 전달되지 않으므로 클라이언트 앱은 pending 상태를 처리하는 자체 로직을 구현해야 합니다.

await app.EmailPasswordAuth.CallResetPasswordFunctionAsync(
userEmail, myNewPassword);

서버 측 함수가 사용자 지정 이메일 제공자를 사용하여 이메일을 보낼 수 있습니다. SMS 또는 기타 서비스를 사용하여 사용자의 신원을 확인할 수도 있습니다.

Atlas App Services 비밀번호 재설정 함수 컨텍스트에서 tokentokenId 에 액세스할 수 있습니다. Atlas App Services 비밀번호 재설정 함수에서 이 정보를 전달하는 경우, 플랫폼별 딥링킹 또는 유니버설 링크를 사용하여 이러한 값을 앱에 다시 전달할 수 있습니다. 그런 다음 클라이언트 애플리케이션은 ResetPasswordAsync() 를 호출하여 비밀번호 재설정 흐름을 완료할 수 있습니다.

await app.EmailPasswordAuth.ResetPasswordAsync(
myNewPassword, "<token>", "<token-id>");

참고

사용자 지정 비밀번호 재설정 함수에서 전송된 token 및 값에 액세스하려면 tokenId Android 딥 링크 를 사용할 수 있습니다.또는 iOS 범용 링크.

Atlas App Services 비밀번호 재설정 함수 가 함수 내에서 추가 유효성 검사를 수행하거나 비밀번호 재설정을 시도하기 전에 사용자 ID의 유효성을 검사한 경우, success 을 반환하도록 Atlas App Services 함수를 구성할 수 있습니다. 그러나 해당 반환 값은 SDK의 CallResetPasswordFunctionAsync() 로 전달되지 않으므로 클라이언트 앱은 success 상태를 처리하는 자체 로직을 구현해야 합니다.

이 예제의 함수를 호출하면 전체 비밀번호 재설정 프로세스가 수행됩니다.

await app.EmailPasswordAuth.CallResetPasswordFunctionAsync(
userEmail, myNewPassword,
"<security-question-1-answer>",
"<security-question-2-answer>");

돌아가기

사용자 메타데이터

다음

다중 사용자 애플리케이션