목록JAVA/PROJECT (9)
정구리의 우주정복
api 서버들에서 token 파싱하는걸 매번 만들 수는 없어서 toygry-common 모듈을 만들었다 ! 여기에다가 token 파싱하는거를 만들어 놓고 다른 api 서버들에서 가져다 쓰면 여러번 만들지 않아도 될것이라는 멋진 생각 구조는 이런식으로 잡아봤다 constants에는 아직 넣을게 없어서 안넣음 ~ 우선 KeycloakToken.javapublic record KeycloakToken(String name, String userId, String email) {} 이게 다임 .. record 처음 써보는데 어째서 이리도 편리한것 ..?? lombok 이 필요없넹나중에 더 많이 써봐야겠다 TokenUtils.javatoken (String) 의 payload 부분을 가져온다 -> 해당 부..
오늘은 게이트웨이에 왕 간단한 글로벌 필터를 만들어보려 한다 api 요청 후 글로벌필터를 거친 후에 api 를 실행하는 형태 ! GlobalFilter.java 파일 @Component@Slf4jpublic class GlobalFilter extends AbstractGatewayFilterFactory { public GlobalFilter() {super(Config.class);} @Override public GatewayFilter apply(Config config) { //Custom Pre Filter return (exchange, chain) ->{ ServerHttpResponse response = exchange.ge..
저번에 게이트웨이랑 api 서버 2개를 만들었는데 플젝마다 repo 를 만들면 git 에서 관리가 어려울 것 같아 멀티 모듈로 만들어보려고 한다 !!!프로젝트 우클릭 -> new -> module을 선택하면 spring 프로젝트 생성하는 창이 동일하게 나오는데 거기서 원하는 대로 세팅을 해서 생성해주면 된다나는 api 서버 2개랑 게이트웨이를 만들어줬따이런식으로 구성이 되게 된다최상위의 src 는 사용하지 않을거니까 지워도 된다 (근데 혹시 몰라서 일단 남겨놓음 .. ㅎㅎ)각각의 서버를 실행할 수 있게 된다 ! 여러개의 서버를 한개의 repo 에서 관리하는것이 가능하게 된다는 말씀모든 모듈에서 사용하는 설정은 최상위에서 설정을 해놓으면 (ex. build.gradle) 하위에서도 동일하게 사용이 가능하다..
저번에 만들었던 keycloak 이랑 spring 연결해놓은거를 응용해서 gateway를 만들려고 한다우선 gateway 의 역할은client 에서 요청을 하면 api gateway로 들어오게 되어서 게이트웨이에서 해당 api 로 라우팅을 해주는 역할이다 !!!나는 여기에 keycloak 을 같이 써보려고 하는데 이유는 모든 api 서버마다 keycloak 연결을 해 줄 필요 없이 게이트웨이에 keycloak 을 연결해준 뒤 api 서버에서는 별도의 인증 없이 api 만 실행해주면 좋지 않을까 라는 생각이기 때문이다 !내가 생각한 flow 는유저가 서비스에 접근 시 -> keycloak 으로 redirection -> 로그인 하면 token 이 발급됨 + 서비스에 접근 -> 서비스에서 api 요청 -> ..
저번에 띄운 keyclaok 과 나의 spring 프로젝트 녀석을 연동하려 해본다 기록용이라 엉망진창일수도 있음 .. ㅜㅜ https://keycloak.org/docs/latest/securing_apps/#_spring_boot_adapter Securing Applications and Services GuideIn order for an application or service to utilize Keycloak it has to register a client in Keycloak. An admin can do this through the admin console (or admin REST endpoints), but clients can also register themselves throu..
저번에 Keycloak 을 띄웠다면 이번에는 Postgresql 을 띄워보겠다 ! docker-compose.yml 작성 version: '3.8' services: keyclaok: image: quay.io/keycloak/keycloak:24.0.3 ports: - "3000:8080" environment: - KEYCLOAK_ADMIN=admin - KEYCLOAK_ADMIN_PASSWORD=admin command: ["start-dev"] postgresql: image: postgres:16 ports: - "3100:5432" environment: - POSTGRES_PASSWORD=admin - POSTGRES_USER=admin - POSTGRES_DB=jungry_p..
gradle 눌러서 옆에 저거 build 떠블클릭하면은 자동으로 빌드가 됨여 그리고 스냅샷 잘 생겼는지 확인하기 터미널 들어가서 EC2 접속하기 (접속 방법은 이전 게시물에 있음) OpenJDK 설치 (우분투에 하는거임) sudo apt-get update sudo apt-get install openjdk-8-jdk java -version 자바 버전 잘 나오면은 된겨 이제 파일질라 고고고 좌 상단 컴 3개 연결된거 눌러가지고 new site 클릭하기 ip 는 그 인스턴스 들어가서 복사해오고 키 파일은 저번에 만들었던 keypair 이용하면 된다 그리고 연결띠 아까 만든 스냅샷을 오른쪽으로 슉 드래그앤드랍 EC2 연결 된 터미널에서 java -jar JAR파일명.jar 8080 포트 안열어줬으면 접속 ..
https://ap-northeast-2.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-2#Instances: https://ap-northeast-2.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-2#Instances: ap-northeast-2.console.aws.amazon.com 여기 들어가서 우 상단 인스턴스 시작 누르기 사용하고 싶은 서버 선택하기 (Ubuntu 18.04 했음) 들어가서 우 하단 검토 및 시작 누르기 그 다음에 우 하단 시작하기 누르기 그럼 키 페어 선택 나오는데 키페어는 아이디랑 비번을 대체하는 파일? 이라고 생각하면 된대여 ㅎㅎ 철저한 나 자신을 증명할 수 있는 파일 ..