Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

이메일/비밀번호 사용자 관리 - 코틀린 SDK (Kotlin SDK)

Atlas App Services 앱에서 이메일/비밀번호 제공자 를 활성화 하면 새 사용자를 등록하고 로그인하여 클라이언트 코드에서 사용자 인증 을 처리하다 할 수 있습니다.

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

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking { // use runBlocking sparingly -- it can delay UI interactions
app.emailPasswordAuth.registerUser(email, password)
}

Atlas App Services에서 이메일/비밀번호 제공자 를 활성화하면 확인 방법을 선택하게 됩니다. Atlas App Services 이메일/비밀번호 확인 서비스는 이메일 또는 사용자 지정 를 통해 ID 사용자에게 얻을 수 있는 토큰 및 토큰 를 Atlas Function 제공합니다. 사용자를 확인하려면 해당 토큰과 tokenId를 app.emailPasswordAuth.confirmUser()에 제공합니다.

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking { // use runBlocking sparingly -- it can delay UI interactions
app.emailPasswordAuth.confirmUser(token, tokenId)
}

사용자를 확인한 후 이메일/비밀번호 자격 증명을 사용하여 로그인을 진행할 수 있습니다.

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

확인 이메일 을 다시 보냅니다. 각 URL의 확인 토큰은 30 분 후에 만료됩니다. 사용자가 해당 기간 내에 링크를 따라 확인 및 확인을 하지 않을 경우, 새 확인 이메일을 요청해야 합니다.

사용자 확인 이메일을 재전송하려면 app.emailPasswordAuth.resendConfirmationEmail()에 사용자의 이메일 주소를 제공합니다.

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking { // use runBlocking sparingly -- it can delay UI interaction
app.emailPasswordAuth.resendConfirmationEmail(email)
}

사용자 지정 사용자 확인 함수 를 다시 시도하려면 app.emailPasswordAuth.retryCustomConfirmation()에 사용자의 이메일 주소를 제공합니다.

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking { // use runBlocking sparingly -- it can delay UI interaction
app.emailPasswordAuth.retryCustomConfirmation(email)
}

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

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

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

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

선호하는 비밀번호 재설정 방법을 설정하는 방법에 대한 자세한 내용은 Atlas App Services 이메일/비밀번호 인증 문서를 참조하세요.

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

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

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking { // use runBlocking sparingly -- it can delay UI interaction
app.emailPasswordAuth.sendResetPasswordEmail(email)
}

사용자가 비밀번호 재설정 이메일에 포함된 URL을 방문한 후 app.emailPasswordAuth.resetPassword() 를 호출합니다. 사용자의 이메일, 새 비밀번호, 고유 URL에 제공된 tokentokenId 를 사용합니다.

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

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking { // use runBlocking sparingly -- it can delay UI interactions
app.emailPasswordAuth.resetPassword(token, tokenId, newPassword)
}

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

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

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

  • fail

  • pending

  • success

SDK에서는 fail 상태를 ServiceException 오류로 처리합니다. SDK callResetPasswordFunction()pending 또는 success 상태를 클라이언트에 반환하지 않습니다.

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

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking { // use runBlocking sparingly -- it can delay UI interaction
app.emailPasswordAuth.callResetPasswordFunction(email, newPassword)
}

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

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

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking { // use runBlocking sparingly -- it can delay UI interactions
app.emailPasswordAuth.resetPassword(token, tokenId, newPassword)
}

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

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

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking { // use runBlocking sparingly -- it can delay UI interaction
app.emailPasswordAuth.callResetPasswordFunction(email, newPassword, args)
}

사용자를 등록한 후 사용자를 로그인하는 것은 별도의 단계입니다.

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking {
val emailPasswordCredentials = Credentials.emailPassword(email, password)
val user = app.login(emailPasswordCredentials)
}

인증된 사용자를 로그아웃할 수 있습니다.

val app: App = App.create(YOUR_APP_ID) // Replace this with your App ID
runBlocking {
val user = app.login(credentials)
// ... work with logged-in user ...
// Ensure all local updates are uploaded
// before logging out
user.logOut()
}

돌아가기

사용자 생성 및 인증

이 페이지의 내용