본문 바로가기
728x90
반응형

분류 전체보기65

[GO 인증 구현 with JWT 5] Handler, Main 구현 및 통합 테스트 이전 글 [GO 인증 구현 with JWT 4] User Repository, Service 구현 및 테스트 이전 글 [GO 인증 구현 with JWT 3] 인증 미들웨어 구현 및 테스트 코드 작성 이전 글 [GO 인증 구현 with JWT 1] 전체적인 인터페이스 작성 Use Case 간단히 구현해 볼 인증의 시나리오 유저 생성 → 생성된 tinkerbellbass.tistory.com 이제 남은 것은 핸들러, 메인 함수 구현과 통합 테스트를 작성해 보는 것이다. 통합 테스트는 포스트맨으로 직접 두드려서 하거나 포스트맨으로 테스트 컬렉션을 만들어 돌려도 되지만 그 이전에 한 번 더 검증한다는 느낌으로 코드를 작성해 보았다. User Handler 구현 핸들러는 딱히 어딘가에 의존성 주입을 할 일이 없.. 2022. 4. 15.
MinIO 도커 컴포즈 설정과 버킷 자동 생성 MinIO 도커 허브, 공홈에는 podman 사용을 권장하고 있어서 podman compose 로 해볼까 했으나 지금 하고 있는 프로젝트에서 podman 이 아닌 도커를 쓰고 있어서 도커 컴포즈로 만들어 보았다. 인프라 관련 세팅을 잘해두면 협업하는 개발자가 편하기 때문에 MinIO 도커에 띄우고 유저 생성하고 버킷 만들고 하는 과정을 자동화해 보았다. MinIO 도커 컴포즈 스크립트 포트를 9000번과 9099번 두 개를 열고 있는데 9099번은 MinIO 서버 포트이고 9000번은 MinIO 콘솔 포트이다. 그래서 브라우저에서 MinIO 콘솔을 띄울때는 localhost:9000 을 두드리면 되고 버킷 생성, 파일 생성 등 서버와의 작업에는 localhost:9099 으로 통신하면 된다. 그리고 콘솔.. 2022. 4. 13.
[GO 인증 구현 with JWT 4] User Repository, Service 구현 및 테스트 이전 글 [GO 인증 구현 with JWT 3] 인증 미들웨어 구현 및 테스트 코드 작성 이전 글 [GO 인증 구현 with JWT 1] 전체적인 인터페이스 작성 Use Case 간단히 구현해 볼 인증의 시나리오 유저 생성 → 생성된 유저 정보로 토큰 발급 → 발급된 토큰에 들어있는 유저ID 를 이용해서 tinkerbellbass.tistory.com 이제 남은 것은 애플케이션 관련 코드인 핸들러, 서비스 리포지토리와 메인 함수 구현만 남았다. 그전에 이전 코드에 변경 사항이 있는데, 생성자를 통해서만 구현체 인스턴스를 생성해서 사용할 수 있게 변경하였다. 생성자를 통해서만 인스턴스를 생성하게 강제해서 얻을 수 있는 이점은 인스턴스를 생성할 때 필드 값을 초기화해야 한다는 것을 상기시켜 준다. 그리고 이.. 2022. 4. 13.
IT 기술 정보 어디서 얻을까? 2020녀 현재 우리가 살고 있는 세상은 수많은 정보로 넘쳐나고 있다. 보이지도 느끼지도 못하지만 지금도 우리의 머리 위로 수많은 전파들이 날아다니고 있고 땅 속, 해저 속 케이블을 통해 정보가 확산되고 있다. 손 쉽게 세계에서 어떤 일들이 벌어지고 있는지 알 수 있는 세상인 것이다. 정보가 흘러넘치면서 현대인들은 더 피곤한 삶을 살게 된 것인지도 모르겠다. 수많은 정보 중 자신에게 필요하고 유익하며 진실된 정보를 필터링해야 하는 일은 피곤하다. 시시각각 변하는 IT 기술들, 몇 년만 지나면 바뀌어 있는 기술 스펙트럼, 정말 빠르게 변하는 IT 정보들을 어떻게 효율적으로 습득할 수 있을까. 개인적으로 feedly 라는 앱을 추천하는데 거대 테크 기업의 테크 블로그, 유명 유튜버의 유튜브 영상 등을 구독해.. 2022. 4. 11.
[GO 인증 구현 with JWT 3] 인증 미들웨어 구현 및 테스트 코드 작성 이전 글 [GO 인증 구현 with JWT 1] 전체적인 인터페이스 작성 Use Case 간단히 구현해 볼 인증의 시나리오 유저 생성 → 생성된 유저 정보로 토큰 발급 → 발급된 토큰에 들어있는 유저ID 를 이용해서 유저 정보 획득 유저 생성 Use Case User ID, Password 를 입력받아 tinkerbellbass.tistory.com 토큰을 만들고 검증할 수 있게 되었으니 다음으로 인증 미들웨어를 구현해 보자. 인증 미들웨어 구현 리퀘스트 헤더에서 토큰 값을 가져오는 getTokenFromRequest 메서드부터 구현해 보자. 인증 방식이 Basic 이 아닌 Bearer 인지 확인한 후 토큰을 가져오는 메서드로, 인증 방식 스킴은 대소문자 구분이 없으므로 인증 방식 스킴 비교 시에는 대문.. 2022. 4. 11.
[GO 인증 구현 with JWT 2] 토큰 구현 및 테스트 코드 작성 이전 글 [GO 인증 구현 with JWT 1] 전체적인 인터페이스 작성 Use Case 간단히 구현해 볼 인증의 시나리오 유저 생성 → 생성된 유저 정보로 토큰 발급 → 발급된 토큰에 들어있는 유저ID 를 이용해서 유저 정보 획득 유저 생성 Use Case User ID, Password 를 입력받아 tinkerbellbass.tistory.com 이번에는 토큰, 인증 미들웨어를 구현해 보자. 능력 부족으로 완벽한 TDD 를 하는 것은 힘들어서, 개인적으로는 테스트 케이스 정도 정리하면서 구현할 로직을 떠올리고, 로직을 구현하고, 마지막으로 테스트 코드를 작성한다. 그리고 전반적인 변경사항으로 go pkg 들어가 보니 StandardClaims 가 deprecated 되어 있어서 go jwt 의 Sta.. 2022. 4. 11.
728x90
반응형