본문 바로가기

Unity/뒤끝

[뒤끝 파헤치기] #05. 유저 비밀번호 변경, 초기화

반응형

해당 강의는 PC환경에 최적화 된 글 입니다.

목록 바로가기

https://cheolmini.tistory.com/53

 

[뒤끝 파헤치기] #05. 유저 비밀번호 변경, 초기화

뒤끝 파헤치기 다섯번째강의글 입니다.

 

동기, 비동기식으로 유저의 비밀번호를 변경하고, 초기화를 해볼 것입니다.


1. 전역 변수 추가 및 Error 함수 수정

저는 이렇게 사용하지만 코드를 짜면서 편한대로 예외처리를 해주시면 됩니다.

   [Header("User Info")]
   public InputField newPW;
    
   void Error(string errorCode, string type)
    {
        if (errorCode == "DuplicatedParameterException")
        {
            if (type == "UserFunc") print("중복된 사용자 아이디 입니다.");
            else if (type == "UserNickname") print("중복된 닉네임 입니다.");
        }
        else if (errorCode == "BadUnauthorizedException")
        {
            if (type == "UserFunc") print("잘못된 사용자 아이디 혹은 비밀번호 입니다.");
        }
        else if (errorCode == "UndefinedParameterException")
        {
            if (type == "UserNickname") print("닉네임을 다시 입력해주세요");
        }
        else if (errorCode == "BadParameterException")
        {
            if (type == "UserNickname") print("닉네임 앞/뒤 공백이 있거나 20자 이상입니다.");
            if (type == "UserPW") print("잘못된 이메일입니다.");
        }
        else if (errorCode == "NotFoundException")
        {
            if (type == "UserPW") print("등록된 이메일이 없습니다.");
        }
        else if (errorCode == "Too Many Request")
        {
            if (type == "UserPW") print("요청 횟수를 초과하였습니다. (1일 5회)");
        }
    }


동기 방식


1. 비밀번호 변경

Backend.BMember.UpdatePassword("OldPassword", "NewPassword");

 

이전 비밀번호를 새로운 비밀번호로 바꿉니다.

 

    public void UpdatePW()
    {
        BackendReturnObject BRO= Backend.BMember.UpdatePassword(PW.text, newPW.text);

        if (BRO.IsSuccess()) print("동기 방식 비밀번호 변경 완료");
        else Error(BRO.GetErrorCode(), "UserPW");
    }

 

2. 비밀번호 초기화

Backend.BMember.ResetPassword ( "CustomGamerId" , "help@thebackend.io" );

 

입력된 이메일로 해당 아이디의 비밀번호를 초기화 후 비밀번호를 발송합니다.

 

    public void ResetPW()
    {
        BackendReturnObject BRO = Backend.BMember.ResetPassword(ID.text, email.text);

        if (BRO.IsSuccess()) print("동기 방식 초기화된 비밀번호 발송 완료");
        else Error(BRO.GetErrorCode(), "UserPW");
    }


비동기 방식


1. 비밀번호 변경

BackendAsyncClass.BackendAsync(Backend.BMember.UpdatePassword, "OldPassword", "NewPassword", ( callback ) => { // 이후 처리 });

 

    public void UpdatePWAsync()
    {
        BackendAsyncClass.BackendAsync(Backend.BMember.UpdatePassword, PW.text,newPW.text, (callback) =>
        {
            if (callback.IsSuccess()) print("비동기 방식 비밀번호 변경 완료");
            else Error(callback.GetErrorCode(), "UserPW");
        });
    }

 

2. 비밀번호 초기화

BackendAsyncClass.BackendAsync(Backend.BMember.ResetPassword, "CustomGamerId" , "help@thebackend.io", ( callback ) => { // 이후 처리 });

 

    public void ResetPWAsync()
    {
        BackendAsyncClass.BackendAsync(Backend.BMember.ResetPassword, ID.text, email.text, (callback) =>
        {
            if (callback.IsSuccess()) print("비동기 방식 초기화된 비밀번호 발송 완료");
            else Error(callback.GetErrorCode(), "UserPW");
        });
    }

UI 구성하기


결과

입력된 아이디와 비밀번호, 이메일을 통해 비밀번호를 초기화하고 변경합니다.

 

동기 방식 비밀번호 변경 및 초기화
비동기 방식 비밀번호 변경 및 초기화
비밀번호 초기화 시 해당 이메일이 발송됩니다.

 


참고 글

https://developer.thebackend.io/unity3d/guide/bmember/password/

 

뒤끝 개발자

모바일 게임 서버를 쉽게 생성, 관리 할 수 있는 뒤끝의 개발자 사이트입니다.

developer.thebackend.io


모든 프로젝트는 깃 허브에 업데이트 할 예정입니다.

 

https://github.com/CM-Games/BackEnd

읽어 주셔서 감사합니다.

 

더보기

검색어

뒤끝베이스

뒤끝강좌

뒤끝

뒤끝매치

뒤끝챗

유니티뒤끝

백앤드

유니티백앤드

유니티서버

유니티데이터저장

뒤끝기초

뒤끝서버

반응형