앱 사용자 만들기
이 페이지의 내용
개요
Atlas App Services 는 사용자를 앱 에 로그 할 수 있는 다양한 인증 제공자 를 제공합니다. 대부분의 제공자의 경우, App Services 는 사용자가 제공자 를 통해 처음 인증할 때 사용자 계정을 자동으로 생성합니다. 유일한 예외는 이메일/password user 인증 이며, 사용자를 등록하고 확인해야 사용자를 인증할 수 있습니다.
ID
인증 제공자 로그인 하면 App Services 는 사용자에 대한 고유 ID ID 및 제공자별 메타데이터 가 포함된 사용자 객체 를 생성합니다.
기존 계정에 연결
하나의 사용자 객체가 두 개 이상의 ID를 가질 수 있습니다. Realm SDK를 사용하여 ID를 기존 사용자 계정에 연결할 수 있습니다. 이를 통해 사용자는 두 개 이상의 제공자에서 하나의 계정으로 로그인할 수 있습니다. 자세한 내용은 선호하는 SDK의 ID 연결에 대한 문서를 참조하세요.
이메일/비밀번호 사용자 생성
이메일/password user 인증 을 사용하는 경우 먼저 사용자를 등록해야 사용자 객체 가 생성됩니다. 선호하는 SDK를 사용하여 클라이언트 애플리케이션 에 사용자를 등록하거나 이메일/비밀번호 사용자를 수동으로 만들 수 있습니다.
사용자를 등록한 후에는 사용자를 확인 해야 인증할 수 있습니다.
SDK에서 이메일/비밀번호 사용자 생성
각 SDK는 이메일/비밀번호 사용자를 등록할 수 있는 API를 제공합니다. 사용자를 등록한 후에는 사용자를 확인해야만 인증할 수 있습니다. 클라이언트 애플리케이션에서 이메일/비밀번호 사용자를 관리하는 방법을 보여주는 코드 예시는 Realm SDK 설명서를 참조하세요.
이메일/비밀번호 사용자 수동 생성
App Services UI, CLI 또는 Admin API에서 새 이메일/비밀번호 사용자를 생성할 수 있습니다. 수동으로 생성된 사용자는 구성된 사용자 확인 흐름을 우회합니다.
팁
수동으로 사용자를 생성하면 개발 중인 애플리케이션을 테스트하고 디버깅하는 데 유용할 수 있습니다.
왼쪽 탐색 메뉴에서 App Users 을 선택합니다.
Add New User 버튼을 클릭합니다.
새 사용자의 이메일 주소 와 비밀번호를 지정합니다.
참고
이메일/비밀번호 인증 제공자는 6~128자 길이의 비밀번호를 요구합니다.
Create를 클릭합니다.
참고
애플리케이션이 앱에 연결하는 데 사용하는 API 키를 만들 수도 있습니다. API 키는 단일 사용자와 연결되어 있지 않지만 Users 탭 에 나열됩니다. API 키에 학습 보려면 API 키 인증을 참조하세요.
새 이메일/비밀번호 사용자를 만들려면 appservices users create
를 호출하고 --type=email
를 지정합니다. CLI 는 앱 ID 와 새 사용자의 이메일 및 비밀번호를 입력하라는 메시지를 표시합니다.
appservices users create --type=email
프로그램을 호출할 때 인수를 지정할 수도 있습니다.
appservices users create --type=email \ --app=<Your App ID> \ --email=<User's Email Address> \ --password=<User's Password>
참고
이메일/비밀번호 인증 제공자는 6~128자 길이의 비밀번호를 요구합니다.
새 이메일/비밀번호 사용자를 만들려면 다음 형식으로 POST
요청을 만듭니다. 요청 본문에 사용자 자격 증명을 지정하고 요청 URL에 그룹 및 앱 ID를 지정해야 합니다.
curl --request POST \ --header 'Authorization: Bearer <access_token>' \ --data '{ "email": "<string>", "password": "<string>" }' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users
참고
이메일/비밀번호 인증 제공자는 6~128자 길이의 비밀번호를 요구합니다.
사용자 확인
새 이메일/비밀번호 사용자 의 이메일 주소 를 확인해야 App Services 에 로그 할 수 있습니다. 정확한 확인 방법은 제공자 구성에 따라 다르지만 일반적으로 핸드셰이크 프로세스 가 필요합니다. 사용자와 애플리케이션 간의 이메일/비밀번호 사용자 확인에 대한 자세한 내용은 이메일/비밀번호 확인에서 확인할 수 있습니다 .
간혹 사용자가 확인 절차를 완료하지 못하는 경우가 있습니다. 예를 들면 다음과 같습니다.
과도한 스팸 필터는 App Services 이메일 확인 이메일을 차단할 수 있습니다.
프록시 또는 웹 차단기로 인해 사용자가 클라이언트 애플리케이션 을 통해
confirmUser
클라이언트 SDK 기능을 활성화하지 못할 수 있습니다.구현 오류로 인해 특정 사용 사례에서 클라이언트 애플리케이션의 사용자 확인 페이지가 실패할 수 있습니다.
이와 같은 경우를 해결하기 위해 App Services UI 또는 Admin API를 사용하여 수동으로 사용자를 확인할 수 있습니다.
UI에서 대기 중인 이메일/비밀번호 사용자를 확인하려면 다음 단계를 따르세요.
왼쪽 탐색 메뉴에서 App Users 을 선택합니다.
Users 탭 에서 PENDING 버튼을 선택합니다.
목록에서 사용자를 찾아 줄임표(
...
)를 클릭합니다.표시되는 상황에 맞는 메뉴에서 Confirm User 옵션을 선택합니다.
연산이 성공하면 App Services 관리 콘솔 상단의 배너에 확인 메시지가 표시됩니다. 사용자의 User Status는 Pending Confirmation에서 Pending User Login으로 변경됩니다.
수동으로 확인된 사용자는 애플리케이션에 처음 로그인할 때까지 계속 PENDING 사용자 목록에 표시됩니다. 첫 로그인 시 App Services는 해당 사용자를 확인된 사용자 목록으로 이동하고 User Status를 confirmed
으로 전환합니다.
관리자 API 를 사용하여 대기 중인 이메일 /비밀번호 사용자를 확인하려면 다음 형식으로 POST
요청 을 생성합니다. 그룹 ID, 앱 ID 및 이메일 주소 를 지정해야 합니다.
curl --request POST \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/by_email/<email>/confirm
사용자 확인 워크플로 다시 실행
몇 가지 상황으로 인해 이메일/비밀번호 사용자 확인 워크플로가 불완전할 수 있습니다.
이메일이 스팸 필터에 걸리거나, 버그로 인해 전달되지 않았거나, 잠재적인 App Services 사용자가 실수로 삭제한 경우입니다.
사용자 지정 확인 기능이 버그 또는 감독상의 문제로 인해 미확인 사용자와 통신할 수 없습니다.
미확인 사용자가 로그인 토큰을 받은 후 30분 이내에 확인 링크를 방문하는 것을 잊어 토큰이 만료되었습니다.
이 상황에 처한 사용자는 미확인 상태에 갇힌 것처럼 보입니다. 기존 계정에 이메일이 등록되어 있으므로 사용자는 동일한 이메일 주소로 새 계정을 만들 수 없습니다. 또한 확인되지 않은 계정으로는 로그인할 수 없습니다.
App Services에 내장된 이메일 확인 서비스를 사용하는 애플리케이션은 resendConfirmationEmail
Client SDK 방식을 사용하여 새 확인 링크가 포함된 새 이메일을 사용자에게 전송하여 사용자가 계정을 확인하고 로그인할 수 있도록 지원합니다. 이 메서드를 호출하면 send a
confirmation email
이외의 확인 흐름을 사용하는 모든 애플리케이션에서 오류가 발생합니다.
사용자 지정 확인 기능을 다시 실행하는 구체적인 방법은 없습니다. 대신 앱 서비스에는 현재 이메일/비밀번호 사용자 확인 워크플로를 다시 실행하는 메서드가 있습니다. Atlas App Services UI 또는 App Services Admin API를 사용하여 현재 선택된 사용자 확인 흐름을 수동으로 다시 실행할 수 있습니다.
UI에서 사용자에 대한 확인 워크플로를 재실행하려면 다음 단계를 따르세요.
왼쪽 탐색 메뉴에서 App Users 을 선택합니다.
Users 탭 에서 PENDING 버튼을 선택합니다.
목록에서 사용자를 찾아 줄임표(
...
)를 클릭합니다.표시되는 상황에 맞는 메뉴에서 Run user confirmation 옵션을 선택합니다.
표시되는 대화 상자에서 Run User Confirmation 버튼을 선택합니다.
작업이 성공하면 App Services 관리 콘솔 상단의 배너에 확인 메시지가 표시되어야 합니다. 사용자의 User Status 가 Pending Confirmation 에서 Pending User Login 로 변경됩니다. 사용자가 로그인하면 자동으로 활성 사용자 목록으로 이동합니다.
재실행에 실패하거나 사용자의 토큰이 다시 만료되는 경우 필요한 만큼 확인 함수를 재실행할 수 있습니다.
관리자 API 를 사용하는 사용자에 대한 확인 워크플로를 다시 실행하려면 다음 형식으로 POST
요청 을 만듭니다. 그룹 ID, 앱 ID 및 이메일 주소 를 지정해야 합니다.
curl --request POST \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/by_email/<email>/run_confirm
요약
이메일/비밀번호 인증을 제외한 모든 공급자의 경우, 앱 서비스는 사용자가 처음 인증할 때 자동으로 사용자 객체를 생성합니다.
Realm SDK를 사용하여 ID를 연결하면 두 개 이상의 제공자에서 하나의 계정으로 로그인할 수 있습니다.
이메일/비밀번호 인증 제공자는 사용자가 앱에 처음 연결할 때 계정을 생성하도록 요구합니다.
이메일/비밀번호 사용자는 App Services UI 또는 Admin API를 통해 수동으로 확인해야 합니다.
불완전한 이메일/비밀번호 확인 워크플로에 걸린 사용자는 App Services UI 또는 Admin API를 통해 확인을 다시 실행해야 합니다.