티스토리 뷰

카테고리 없음

gateway - self

이채야채 2024. 10. 15. 14:45

TODO : 에러코드 통일화, 상황에 알맞는 에러코드 사용하기, 

심화: 백엔드에서 들어오는 에러 메시지를 바로 팝업창에 보여줘서 굳이 프론트에서 코드에따라서 처리하지않아도 좋을것같다. 

 

1. /api/v1/user/self2 - 

    getUserInfo: () => {
        return get(GATEWAY_URLS.SELF, "");
    },

 

TMS 사용하는곳
세션확인을위해 router에서 접근할때마다 확인하는 용도

 

-TEST1: 로그인 안되어있어서 로그인페이지로 가야하는 상황(로그인 상태확인)
에러코드: 27001  - user 아이디를 가져올수없음, 세션이 아이디x 세션 만료 혹은 확인할 수 없음. 

수정사항(메시지) :  사용자 ID를 가져오는 데 실패했습니다. /혹은/ 접근권한이 없습니다 (27001 코드 여기서만 사용하는방향으로)

 

2. /api/v1/user/self2/auth

    requestLogin: ({ ID, Password }) => {
        return post(GATEWAY_URLS.SELF, "/auth", { ID, Password });
    },

 

* 유의사항: ID나, PASSWORD가 빈값일때는 프론트 내부에서 서버에 전송이안되도록 에러처리를 해놓음.

- TAS도 내부에서 처리로직 있는지 확인 

 

사용하는곳
로그인 페이지


-TEST1: 프론트에서 서버에 PARAM을 보낼때,  ID나 PASSWORD를 아예 빼먹을때(개발자 코드 문제)  

에러코드: 27011   - id or password is empty

수정사항(에러코드): 8000으로 수정. 

수정사항(에러메시지): 27011 - 입력값이 없습니다. (현재 빈값)  

 

-TEST2: Password에 SHA256을 넣지않고 Password: 1234 로 보냈을때

에러코드: 8000   - failed to bind json , json: cannot unmarshal number into Go struct field RequestUserLogin.Password of type string

** 8000일때는 메시지를 띄우면 x 내부에러. 2000번때일때만 error code를 띄우게 변경하기 

문제없음  

 

-TEST3: LAON2023 과, 비밀번호 제대로 쳤지만, LAON2023은 없는 아이디이고, 사용자가 비밀번호를 제대로쳤지만 PARAM이 안들어간경우(개발자문제 혹은 내부)

에러코드: 27011   - id or password is empty

Test1수정하면 자동 수정 8000으로 변경될것같음. (에러코드는 유지하지만, test1같은 경우를 8000으로 돌릴경우 27011코드는 나올일이 거의없을것같습니다)

 

-TEST4: LAON2023 과 비밀번호 제대로 쳤지만, LAON2023은 없는 아이디이고, 사용자가 비밀번호를 제대로쳤지만 SHA256문제가 생기도록 1234로 넣어봤을때(개발자 문제 혹은 내부문제)

에러코드: 8000   failed to bind json , json: cannot unmarshal number into Go struct field RequestUserLogin.Password of type string" 입력값이 잘못되었습니다

-> 백엔드 수선코드가 아이디확인 이전에 SHA256부터 감지하는것같음. DB를 찾기전에 RETURN?

 

-TEST5: LAON2023(없는 아이디) 과 비밀번호 제대로 친경우

에러코드: 27006 - "does not exist user id" 

수정사항(에러메시지): 에러메시지 추가 27006 - 존재하지 않는 사용자.

 

-TEST6: laon(알맞은 사용자), laon2021!(사용자가 틀린비밀번호, SHA256은 재대로)

에러코드: 27001 - ErrorDetail: {FailCount: 3, FailTime: 0}} 아이디 또는 비밀번호를 잘못 입력하셨습니다.

수정사항(에러메시지): 27001 코드를 쓰지않고, 27000 을 쓰는게 맞아보인다. -> TEST1에서 27001을 사용하고, 여기서는 비밀번호가 틀렸을때 에러코드에 초점을 맞추는게 좋지않을까? -> 아니면 TEST1부분을 수정하던가. 둘중하나 수정필요.

이유 : 아이디는 잘못 입력했을때, 존재하지않는 사용자라고 나오며, 빈값으로는 아예 보낼수가없기에 비번틀렸던거로 MESSAGE나 코드를 디테일하게 에러디테일 또한 failcount, failtime 비밀번호에 중점을 둔 사례 

 

-TEST7: laon3(알맞은 사용자 but 승인안해줌), laon2021!(사용자가 틀린비밀번호, SHA256은 재대로)

에러코드: 27007 - "permission denined, permission = none" 

수정사항(에러코드): 27007 -> 8000으로 수정. 

수정사항(메시지) :  27007 에러메시지, (스웨거: 권한 에러 )-> 회원가입 승인 요청이 대기 중입니다. 에러코드 변경하거나 권한쪽을 하나 더 파던가해야할듯싶습니다

권한에러 에대한 코드 확인 하기

 

-TEST8(성공사례) - {StatusCode: 0, Message: "성공", Data: {IsLogin: true, ID: "laon", Permission: 3}}

 

***이외: 90일 초과는 확인 불가. 로그인중이 아닙니다.? 나오는 상황

 

3. /api/v1/user/self2/password

 changePassword: ({ ID, BeforePassword, AfterPassword }) => {
        return put(GATEWAY_URLS.SELF, "/password", {
            ID,
            BeforePassword,
            AfterPassword,
        });
    },

 

-TEST1: 없는 아이디, 위아래 똑같은 password - 프론트에서 막을예정

에러코드: 27010 - 현재비밀번호와 변경비밀번호가 동일

 

-TEST2: 있는 아이디, 현재 비밀번호 틀렸을경우

에러코드: 27001 

수정사항(메시지) 27000 수정 부탁합니다!

 

-TEST2: 없는 아이디, 현재 비밀번호 틀렸을경우

에러코드: 27006

 	creatUserData: ({ ID, Password, Permission }) => {
        return post(GATEWAY_URLS.SELF, "", { ID, Password, Permission });
    },
    addPageNavigationHistory: ({ URL }) => {
        return post(GATEWAY_URLS.SELF, "/page", { URL });
    },
    changePassword: ({ ID, BeforePassword, AfterPassword }) => {
        return put(GATEWAY_URLS.SELF, "/password", {
            ID,
            BeforePassword,
            AfterPassword,
        });
    },
    extendPasswordExpiration: ({ ID, BeforePassword, AfterPassword }) => {
        return put(GATEWAY_URLS.SELF, "/password/extension", {
            ID,
            BeforePassword,
            AfterPassword,
        });
    },
    deleteUserData: ({ ID }) => {
        return del(GATEWAY_URLS.SELF, "", { ID });
    },
    requestLogout: () => {
        return del(GATEWAY_URLS.SELF, "/auth");
    },
};

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함