언리얼 엔진 - 게임 프로젝트/AWS GameLift를 활용한 데디케이트 FPS 프로젝트

AWS Cognito - 13) ConfirmSignUp API 요청과 처리

monstro 2026. 6. 11. 19:51
728x90
반응형

- 개요

클라이언트에서 회원가입 후에 인증정보를 입력하여 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 클래스

함수 선언

 

 

회원가입 페이지 UIClearTextBoxes 함수를 추가하고 위와 같이 정의한다

해당 함수를 호출하여 TextBox UI를 모두 초기화한다

 

5) ConfirmSignUpPage 클래스

 

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

 

 

ClearTextBoxes 함수를 위와 같이 정의한다

해당 함수를 호출하여 TextBox UI를 모두 초기화한다

 

 

UpdateStatusMessage 함수를 위와 같이 정의한다

인자로 받은 문자열 TextBlock UI에 적용하고 인자로 받은 불리언 값에 따라 버튼 UI를 활성화한다

 

6) SignInOverlay 클래스

 

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

 

 

NativeConstruct 함수에 위와 같이 로직을 추가하여

회원가입이 성공하는 경우 OnSignUpSucceeded 멤버함수를 호출하도록 바인드하고

회원인증이 성공하는 경우 OnConfirmSucceeded 멤버함수

회원인증 페이지 UIUpdateStatusMessage 함수를 호출하도록 바인드한다

 

 

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

 

 

OnSignUpSucceeded 함수의 로직은 위와 같다

회원가입 페이지 UI의 TextBox들을 전부 초기화하고 회원인증 페이지 UI의 TextBox를 설정한다

이후 ShowConfirmSignUpPage 함수를 호출한다

 

 

OnConfirmSucceeded 함수의 로직은 위와 같다

회원인증 페이지 UI의 TextBox들을 전부 초기화하고 ShowSuccessConfirmedPage 함수를 호출한다

 

- 최종 실행 결과

회원가입

 

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

 

회원인증

 

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

 

회원인증 성공

 

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

 

AWS 콘솔

 

AWS 콘솔에서 확인해보면 위와 같이 인증된 사용자가 추가된 것을 확인할 수 있다

728x90
반응형