---
title: 플러터 이메일 인증 구현 가이드
slug: docs-kr/flutter/parse-sdk/users/flutter-email-verification
description: 이메일 인증을 통한 플러터 사용자 등록 방법을 기술적으로 안내합니다. Parse 서버를 활용하여 체계적인 이메일 검증을 설정합니다.
image: https://www.back4app.com/images/logo-social.png
createdAt: 2024-03-18T14:49:51.701Z
---

# 플러터를 위한 사용자 이메일 인증

## 소개

애플리케이션의 설정에서 이메일 인증을 활성화하면 애플리케이션은 확인된 이메일 주소를 가진 사용자에게 경험의 일부를 예약할 수 있습니다.

이메일 인증은 <font color="#2166ae">`emailVerified`</font> 키를 <font color="#2166ae">`ParseUser`</font> 객체에 추가합니다. <font color="#2166ae">`ParseUser`</font> 이메일이 설정되거나 수정되면, <font color="#2166ae">`emailVerified`</font>는 <font color="#2166ae">`false`</font>로 설정됩니다.

그런 다음 Parse는 사용자에게 <font color="#2166ae">`emailVerified`</font>를 <font color="#2166ae">`true`</font>로 설정하는 링크를 이메일로 보냅니다.

고려해야 할 세 가지 <font color="#2166ae">`emailVerified`</font> 상태가 있습니다:

1. true - 사용자가 Parse가 이메일로 보낸 링크를 클릭하여 이메일 주소를 확인했습니다.
2. false - <font color="#2166ae">`ParseUser`</font> 객체가 마지막으로 가져왔을 때, 사용자가 이메일 주소를 확인하지 않았습니다. 만약 <font color="#2166ae">`emailVerified`</font>가 <font color="#2166ae">`false`</font>라면, ParseUser에서 <font color="#2166ae">`getUpdatedUser()`</font>를 호출하는 것을 고려하세요.
3. missing -&#x20;

이 가이드에서는 사용자 등록 기능(가입)에 사용자 이메일 확인 프로세스를 설정하는 방법을 배웁니다.

이메일 확인이 포함된 사용자 등록을 사용하는 앱을 만들 것입니다.[Parse Server 핵심 기능](https://www.back4app.com/product/parse-server)을 통해 Back4App을 사용합니다.

사용자 등록을 구현하는 데 사용한 동일한 방법을 사용하지만, 사용자를 로그인 화면으로 리디렉션하는 대신 사용자가 로그인하기 위해 이메일을 확인하도록 요청합니다.

## 목표

Flutter 앱을 위한 Parse를 사용하여 사용자 확인 이메일 프로세스 기능을 구축합니다.

## 전제 조건

**이 튜토리얼을 완료하려면 다음이 필요합니다:**

:::hint{type="info"}
- [Flutter 버전 2.2.x 이상](https://flutter.dev/docs/get-started/install)
- [Android Studio ](https://developer.android.com/studio) 또는 [VS Code 설치](https://code.visualstudio.com/) (및 [플러그인](https://docs.flutter.dev/get-started/editor) Dart 및 Flutter)
- 이전 가이드에서 생성된 Flutter 앱
  - **참고:&#x20;**&#x20;[사용자 비밀번호 재설정 구현 방법](https://app.archbee.com/docs/_roxIyUMXoBue9I7uv49e/3uUNUqP0K0awBtYuIl4ES)
- 이전 가이드를 완료하여 <font color="#2166ae">`ParseUser`</font> 클래스에 대한 더 나은 이해를 얻으세요.
- Android 또는 iOS를 실행하는 장치(시뮬레이터 아님).
:::

## 이메일 인증 기능 이해하기

이메일 인증 기능을 더 잘 이해하기 위해, 우리는 이전 가이드에서 시작한 애플리케이션의 개발을 계속하고 기능을 구현할 것입니다.

이 가이드의 주요 초점이 Parse와 함께 Flutter를 사용하는 것이기 때문에 Flutter 애플리케이션 코드를 설명하지 않을 것입니다. 다음 단계를 따르면 Back4App 데이터베이스에서 로그인 및 로그아웃 앱을 구축하게 됩니다.

## 시작해봅시다!

다음 단계에서는 앱에서 이메일 확인 기능을 구축할 수 있습니다.

## 1 - 이메일 확인 활성화

이제 Back4App 대시보드에서 이메일 확인을 활성화하겠습니다. 이메일 확인 페이지에는 두 가지 속성이 있습니다: <font color="#2166ae">`사용자 이메일 확인`</font> 및 <font color="#2166ae">`이메일이 확인되지 않은 경우 로그인 방지`</font>.
사용자 이메일 확인 옵션만 활성화하면 사용자는 확인 이메일을 받지만 정상적으로 로그인하고 애플리케이션을 사용할 수 있습니다. 또한 <font color="#2166ae">`이메일이 확인되지 않은 경우 로그인 방지`</font> 옵션을 활성화하면 사용자는 이메일 확인 프로세스를 완료한 후에만 로그인할 수 있습니다.

1. 앱으로 이동하여 [Back4App 웹사이트 ](https://www.back4app.com/)를 클릭하고 <font color="#2166ae">`서버 설정`</font>을 클릭합니다.
2. &#x20;<font color="#2166ae">`확인 이메일 카드 찾기 및 클릭`</font> 설정\`.

![](https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/wr9xlDI1N7Nc4Vy5ofv4k_image.png)

&#x20;    3\. <font color="#2166ae">`사용자 이메일 확인`</font> 및 <font color="#2166ae">`이메일이 확인되지 않은 경우 로그인 방지`</font>을 클릭합니다.

![](https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/_9JbI7rA6mvuVSNrdpjKt_image.png)

&#x20;    4\. 선택 사항: 비어 있는 필드를 채우고 이미 채워진 필드를 선호에 따라 수정하십시오.

&#x20;    5\. <font color="#2166ae">`저장`</font> 버튼을 클릭하십시오.

## 2 - 로그인/로그아웃/비밀번호 재설정 앱 업데이트

이전 가이드에서 Flutter 프로젝트를 엽니다 [Flutter 앱에 사용자 비밀번호 재설정을 추가하는 방법](https://www.back4app.com/docs/flutter/parse-sdk/users/flutter-reset-password).

파일에서 <font color="#2166ae">`doUserRegistration`</font> 함수를 검색하십시오 <font color="#2166ae">`main.dart`</font>.

함수 <font color="#2166ae">`user.signUp()`</font>; 호출 후, <font color="#2166ae">`user.logout()`</font> 함수를 호출하여 사용자가 이메일이 확인될 때까지 로그인하지 않도록 합니다.
사용자에게 메일함을 확인하라는 메시지를 업데이트하고 사용자를 홈 화면으로 리디렉션합니다.

코드 내부의 <font color="#2166ae">`doUserRegistration`</font>을(를) 다음으로 교체하십시오:

```dart
1     void doUserRegistration() async {
2       final username = controllerUsername.text.trim();
3       final email = controllerEmail.text.trim();
4       final password = controllerPassword.text.trim();
5   
6       final user = ParseUser.createUser(username, password, email);
7  
8       var response = await user.signUp();
9
10      if (response.success) {
11        Message.showSuccess(
12            context: context,
13            message: 'User was successfully created! Please verify your email before Login',
14            onPressed: () async {
15              Navigator.pop(context);          
16            });
17      } else {
18        Message.showError(context: context, message: response.error!.message);
19      }
20    }
```

참고: SignUp 함수에 대한 코드는 이전에 설명되었습니다.

## 3 - 회원가입 테스트

테스트하려면 Android Studio/VSCode에서 <font color="#2166ae">`실행`</font> 버튼을 클릭하십시오.

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/iNh3vr_XzZCIlbsEmBIUC_image.png" size="50" width="325" height="636" position="center" showCaption="false"}

등록 프로세스를 수행하고 버튼을 클릭하세요 <font color="#2166ae">`가입하기`</font>.

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/pDtStKebbW_WqtIxYUndH_image.png" size="50" width="328" height="637" position="center" showCaption="false"}

가입 후, 우리는 다음과 같은 이메일을 받을 것입니다:

![](https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/kYovPCgzCVE_Ctjv40sTC_image.png)

이메일을 확인하기 위한 링크를 클릭한 후, Parse 대시보드에서 속성이 true로 설정됩니다:

![](https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/e749HwlRRhsSWP_tU0tgv_image.png)

## 4 - 로그인

이메일 확인으로 로그인을 구현하려면, [사용자 로그인 가이드](https://www.back4app.com/docs/flutter/parse-sdk/users/flutter-login)에 설명된 대로 Parse 사용자 로그인을 구현하면 됩니다.

2단계에서 ‘이메일이 확인되지 않은 경우 로그인 방지’ 옵션을 활성화한 경우, 이메일을 확인하지 않고 로그인하려고 하면 다음과 같은 오류가 발생합니다.

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/1KdIfOJ1iG_hASdIqt-Rr_image.png" size="50" width="328" height="637" position="center" showCaption="false"}

## 완료되었습니다!

이 단계에서, Parse Server의 핵심 기능을 통해 이메일 확인을 사용하여 앱에 로그인, 가입 또는 로그아웃할 수 있습니다!
