- 개요
클라이언트에서 회원가입 후에 인증정보를 입력하여 ConfirmSignUp API를 요청하고 회원인증을 진행한다
이후 서버에서 처리한 결과를 반환하는 작업을 구현한다
- 스크립트 작업
1) HTTPRequestTypes 클래스

프로젝트에서 지정한 규격에 맞춰 구조체의 이름에 "DS"를 수식하여 이름을 수정한다
2) HTTPRequestManager 클래스

클라이언트에서 요청한 API의 실행이 성공하면 브로드캐스트하는 FOnAPIRequestSucceeded 델리게이트를 추가한다
자식 중재자 클래스에서는 해당 델리게이트를 사용하여 필요한 UI를 갱신한다
3) PortalManager 클래스

Portal 중재자 클래스에 위와 같이 회원인증 관련 멤버변수와 함수를 추가한다
- LastSignUpResponse 멤버변수 : 서버로부터 반환된 회원가입 처리 결과를 저장
- LastUsername 멤버변수 : 회원가입한 사용자의 이름을 저장
- ConfirmStatusMessageDelegate 멤버변수 : 서버에서 반환된 회원인증 처리 결과를 브로드캐스트
- OnSignUpSucceeded 멤버변수 : 회원가입이 성공한 경우에 브로드캐스트
- OnConfirmSucceeded 멤버변수 : 회원인증이 성공한 경우에 브로드캐스트
- Confirm_Response 함수 : 서버에서 반환된 회원인증 처리 결과를 처리하는 함수

SignUp 함수에 위의 로직을 추가하여 입력한 사용자의 이름을 사용하여 LastUserName 변수의 값을 설정한다

SignUp_Response 함수에 위와 같이 로직을 추가한다
회원가입 요청 처리 결과를 역직렬화하여 에러가 포함되어 있다면 얼리 리턴한다
얼리 리턴되지 않았다면 문제가 없으므로 리플렉션을 통해 LastSignUpResponse 변수의 값을 설정하고
OnSignUpSucceeded 델리게이트를 브로드캐스트한다

Confirm 함수의 로직을 위와 같이 구성한다
- 델리게이트에 False를 넘겨주어 브로드캐스트하여 필요한 하위 UI를 비활성화
- 서버에 전송할 HTTPRequest 객체 생성
- 사용자의 데이터를 갱신하므로 PUT 함수로 설정 + HTTP 헤더 및 URL 설정
- 회원인증에 필요한 데이터를 구성하고 JSON 포맷으로 직렬화
- 직렬화된 데이터를 포함한 HTTP 요청을 서버로 전송

Confirm_Response 함수의 로직을 위와 같이 구성하여 서버로부터 반환된 회원인증 요청 처리 결과를 처리한다
- 네트워크 연결이 실패했다면 델리게이트로 True를 브로드캐스트하여 필요한 하위 UI를 활성화
- 서버로부터 반환된 문자열을 JSON 데이터로 역직렬화
- 네트워크 에러나 에러 메세지가 포함되어 있다면 True를 브로드캐스트하고 얼리 리턴
- 얼리 리턴되지 않았다면 OnConfirmSucceeded 델리게이트를 브로드캐스트
4) SignUpPage 클래스


회원가입 페이지 UI에 ClearTextBoxes 함수를 추가하고 위와 같이 정의한다
해당 함수를 호출하여 TextBox UI를 모두 초기화한다
5) ConfirmSignUpPage 클래스

회원인증 페이지 UI에 위와 같이 2개의 함수를 추가한다

ClearTextBoxes 함수를 위와 같이 정의한다
해당 함수를 호출하여 TextBox UI를 모두 초기화한다

UpdateStatusMessage 함수를 위와 같이 정의한다
인자로 받은 문자열을 TextBlock UI에 적용하고 인자로 받은 불리언 값에 따라 버튼 UI를 활성화한다
6) SignInOverlay 클래스

중재자를 통해 회원가입과 회원인증의 성공을 전달받은 경우 호출할 2개의 함수를 추가한다

NativeConstruct 함수에 위와 같이 로직을 추가하여
회원가입이 성공하는 경우 OnSignUpSucceeded 멤버함수를 호출하도록 바인드하고
회원인증이 성공하는 경우 OnConfirmSucceeded 멤버함수와
회원인증 페이지 UI의 UpdateStatusMessage 함수를 호출하도록 바인드한다

ConfirmButtonClicked 함수에 위와 같이 로직을 추가하여 회원인증 페이지 UI의 버튼을 비활성화한다

OnSignUpSucceeded 함수의 로직은 위와 같다
회원가입 페이지 UI의 TextBox들을 전부 초기화하고 회원인증 페이지 UI의 TextBox를 설정한다
이후 ShowConfirmSignUpPage 함수를 호출한다

OnConfirmSucceeded 함수의 로직은 위와 같다
회원인증 페이지 UI의 TextBox들을 전부 초기화하고 ShowSuccessConfirmedPage 함수를 호출한다
- 최종 실행 결과

위와 같이 회원가입에 필요한 정보를 입력한다

위와 같이 발송된 인증코드를 입력한다

위와 같이 회원인증이 성공하였다

AWS 콘솔에서 확인해보면 위와 같이 인증된 사용자가 추가된 것을 확인할 수 있다
'언리얼 엔진 - 게임 프로젝트 > AWS GameLift를 활용한 데디케이트 FPS 프로젝트' 카테고리의 다른 글
| AWS Cognito - 최종) 인증 코드 예외 처리 + SignIn API 요청과 처리 (0) | 2026.06.12 |
|---|---|
| AWS Cognito - 12) SignUp API 요청과 처리 (0) | 2026.06.11 |
| AWS Cognito - 11) 중재자 클래스 분리 + Cognito 반환값 구조체 (0) | 2026.06.11 |
| AWS Cognito - 10) 관심사 분리 (0) | 2026.06.07 |
| AWS Cognito - 9) 포탈 관련 API Gateway 생성 (0) | 2026.06.07 |