전체 글(96)
-
로그인 테스트
앞에서 작성한 로그인 코드에 대한 테스트 결과입니다. 테스트는 Postman을 이용하여 진행합니다. 로그인 테스트 진행 전에 User권한을 가진 사용자를 생성합니다. ※ Check Point 로그인 테스트에서 아래의 4가지 사항을 확인 해야합니다. 1. AccessToken, Refresh Token 정상 생성 확인 2. userCookie, accessTokenCookie, refreshTokenCookie 정상 생성확인 3. USER 테이블에 token 컬럼 업데이트 확인 4. Redis 서버에 Refresh Token 정보 생성 확인 01. 사용자 생성 사용자 생성이 정상적으로 되었는지는 DB정보를 확인합니다. 위의 그림에서 보면 username이 roopy인 사용자가 생성된 것을 확인할 수 있습니..
2021.06.27 -
로그인 프로세스
사용자 로그인에 대한 로직을 살펴보도록 하겠습니다. 아래 시퀀스 다이어그램을 통해서 전체적인 로직을 확인 해보도록 하겠습니다. JwtFilter 로그인시 발급된 토큰 및 쿠키 정보가 없기 때문에 로직 수행없이 LoginController 의 POST /signin 을 수행하게 됩니다. LoginController.signin package com.roopy.controller; import com.fasterxml.jackson.databind.ObjectMapper; import com.roopy.crypto.AES256Cipher; import com.roopy.jwt.JwtFilter; import com.roopy.security.jwt.payload.request.LoginRequest; imp..
2021.06.27 -
프로젝트 소개 및 설정
프로젝트 설정은 메이븐 모듈로 api-server, auth-server로 생성합니다. api-server는 쇼핑몰로 예를 들면 쇼핑몰 구현을 위한 API 연동을 위한 프로젝트라고 생가하면 됩니다. api-server에서는 Token의 발급, 재발급, 폐기 기능을 구현하지 않습니다. auth-server는 사용자 등록, 토큰의 발급, 재발급, 토큰 폐기를 관리합니다. 위와 같이 나눈 이유는 보안적인 측면과 MSA 서비스 구현시 기능의 중복을 피할 수 있기 때문입니다. 아래 그림은 프로젝트 구조입니다. 프로젝트 설정 완료 후 auth-server 실행 후 테이블 생성 및 데이터 확인을 합니다. 테이블은 Entity Class 기반으로 자동 생성되게 되어 있습니다. H2DB 접속 브라우저에서 http://l..
2021.06.27 -
Token Life Cycle And Cookie
예제를 시작하기 앞서 토큰의 생명주기와 쿠키에 대한 설명을 하려고 한다. 토큰은 사용자가 로그인을 하고 사이트 접속 유무에 따라서 토큰의 발급, 재발급, 만료를 관리하게 된다. 토큰을 관리하는 방식은 여러 가지가 있지만 예제에서는 쿠키를 이용하여서 토큰의 정보를 관리하게 된다. 01. Token AcessToken AccessToken은 JWT를 이용하여 발급하게 된다. 아래 그림을 보면 Token의 구조에 대해 알 수 있을 것이다. 위의 그림에서 볼 수 있는지 AccessToken에는 사용자의 데이터도 포함되어 있다. 보통은 AccessToken은 만료 시간 설정을 짜게 한다. 이유는 암호화가 되어있긴 하지만 Token을 탈취당할 수도 있기 때문에 짧게 설정한다. 대신에 다음에 설명할 RefreshTo..
2021.06.27 -
gRPC VS REST 성능 테스트II
이번 성능 테스트의 목적은 실제로 DB에 값을 저장할 때 성능 차이가 있는지 확인할려는 목적이 있다. 성능테스트시 결재서버에서는 0.3초 정도 delay 를 주고 테스트를 수행한다. Delay를 주는 이유는 DB에 저장시 별다른 성능 차이가 나지 않았었다. 카드결제를 한다고 가정한다면 실제로 결재서버에서는 카드사와 승인정보를 교환할 것이다. 이러한점을 감안하여서 delay를 주었다. 성능테스트는 프로젝트설정에 보면 3가지 아키텍처에 대한 설명이 있을 것이다. 3가지 아키텍처에 대한 성능 테스트를 진행하였다. 성능테스트는 앞에서 수행한거와 마찬가지로 Apache Benchmark로 테스트 진행한다. 01. 아키텍처1 테스트 수행을 위해서 payment-rest-server, order-app 을 서버를 실..
2021.05.20 -
독립 표본 t-검정
독립표본 t-검정 목적은 서로 다른 두 그룹의 데이터 평균을 비교 엑셀과 Python 을 이용하여서 예제를 통하여 검정을 해보자 두반의 점수 데이터를 이용하여서 아래의 가설을 검증한다. 귀무가설(H0) : A반평균 = B반평균 대립가설(H1) : A반평균 ≠ B반평균 01. 엑셀을 이용한 검증 t-검정을 수행하기 전에 F-검정의 결과 값이 0.05보다 큰 경우 수행한다. ① F-검정 은 엑셀메뉴에서 데이터 > 데이터분석 > F-검정:분산에 대한 두집단 선택 ② t-검정 은 엑셀메뉴에서 데이터 > 데이터분석 > t-검정:등분산 가정 두집단 선택 데이터분석 메뉴가 안보이는 경우 파일 > 옵션 > 추가기능 맨아래부분에 관리 부분에 이동이라는 버튼 선택 후 분석도구 선택 02. Python을 이용한 검증 결과해..
2021.05.20