본문 바로가기

스파르타코딩클럽

1222 TIL

AWS cloudfront 무효화

- 참고 블로그 https://kiwinam.com/posts/42/remove-cache-cloud-front/

 

카카오톡 로그인 관련해서 무한 삽질을 했었다. 깃 액션을 사용해서 CI/CD를 하고 프론트는 AWS 의 cloudfront & S3 를 사용해서 배포를 진행하고 있었는데, 카카오 로그인 관련해서 계속 401, 403 에러가 발생하고 있었다. 나는 당연히 이 문제는 백엔드 쪽 문제라고 생각해서 애꿎은 시큐리티 콘피그랑 ajax에 문제가 있나? 로직을 잘못짯나? 하고 며칠동안 삽질을 했는데 의외로 무효화를 하지 않아서 생긴 문제였다 ^^... 무효화를 하지 않아서 api 호출이 제대로 동작하지 않았고, 그 와중에서 에러가 발생했었던 것... 클라우드 프론트에 /* 무효화를 선언 해주니까 바로 해결이 되었다. 내 며칠은 사라졌지만 뜻깊은 경험이였다고 생각한다.

 

Kakao Login 에러 (email을 곁들인...)

카카오 로그인 api 를 사용해서 카카오 로그인을 구현했는데 email을 선택하지 않았을때에 예외처리를 해주지 않아서 오류가 발생했었다. 그래서 생각한 방법이 이메일을 그럼 회원가입할때 필수로 하면 되겠네? 라고 생각했는데 이메일을 필수로 하려면 카카오에서 사전에 심의를 받아야 하는 문제가 있었다. 그래서 이부분도 며칠을 고민했는데 생각보다 쉽게 처리할 수 있었다.

        JSONObject body = new JSONObject(response.getBody());
        Long id = body.getLong("id");
        String email = "";
        if (body.getJSONObject("kakao_account").has("email")) {
            email = body.getJSONObject("kakao_account").getString("email");
        }
        String nickname = body.getJSONObject("properties").getString("nickname");
        return new KakaoUserInfo(id, email, nickname);

위와 같은 식으로 email 을 "" 으로 초기화 하고 kakao_account 에 email 값이 있으면 그 값을 넣어주는 형식으로 로직을 바꿔서 이메일이 없거나 회원가입할때 이메일 제공을 동의하지 않을 경우에는 데이터베이스에 공백으로 저장이 되고 회원가입이 되게 처리했다.

'스파르타코딩클럽' 카테고리의 다른 글

1206 TIL + 모의 면접 후기  (0) 2021.12.06
1202 TIL  (0) 2021.12.03
1201 TIL  (0) 2021.12.01
2021-11-14 WIL  (0) 2021.11.14
2021.11.12 TIL  (0) 2021.11.12