Spring Framework 46

[SpringBoot] io.jsonwebtoken.security.WeakKeyException: The signing key's size is 80 bits which is not secure enough for the HS512 algorithm.

jwt 를 만들려고 하고 있는데 에러가 발생했다. 키 사이즈가 작다고 해서 단지 그저 키로 주어준 문자열이 너무 짧아서 이런 에러를 낸다고? 라고 생각했는데 정말 그게 맞다. 해쉬 알고리즘으로 바꿀때 키도 같이 주게 되는데 그냥 길이를 좀 늘려주면 해결된다. 단순한 에러였다. 아래 블로그에서 좀 더 상세한 내용을 살필 수 있다. https://lemontia.tistory.com/1021 [springboot, jwt] jwt 로 토큰 생성, 유효시간 관리 하기 이번에는 jwt를 이용한 로그인 인증을 만들려 한다. 일전에 @EnableAuthorizationserver deprecated 되면서 찾던 중 jwt가 있어 이걸 활용하기로 했다(DB로 토큰유효성 확인도 안해서 더 나은거 같기도 하고 lemon..

[SpringBoot] Error resolving template [/index]

springboot 를 통해 작업을 마치고 무사히 build까지 끝났는데 막상 구동을 하고 localhost:8080 에 들어갔더니 제목과 같은 에러가 뜨면서 갑자기 에러로그가 찍히는걸 확인할 수 있다. 정말 간단한 이유인데 만약 작성한 컨트롤러 중에서 return "/index"; 이처럼 슬래쉬 / 를 붙여서 작성해준 컨트롤러가 있다면 슬래쉬를 제거하고 return "index"; 와 같이 작성해주면 된다. (이때 index.html 이 있다고 가정하는 상황이다.) 어느 블로그를 살펴보니 슬래쉬 때문에 경로를 찾지 못해 발생하는 상황이라고 한다. 슬래쉬를 빼버리면 된다. 아래 블로그를 참조하면 여기보다 더 친절하게 설명되어있다. https://dev-jwblog.tistory.com/40 [Spring..

[SpringBoot] Springboot kakao OAuth 구현 참고 블로그

https://linkeverything.github.io/springboot/kakao-login-3/ 카카오톡 로그인 구현하기 - (3) OAuth 방식 구현하기 웹이든 앱이든 서비스를 개발하는 데 있어서 SSO(Single Sign On) 의 필요성이 계속 화두가 되는 것 같습니다. 이제 기존 시스템 이라는 것이 거의 다 있게 마련이고, 따라서 기존에 사용하던 로그인 linkeverything.github.io 위 블로그에서 많은 도움을 받았다.

[SpringBoot] 로컬 Git -> AWS EC2까지 서버에서 jar를 실행해보자.

3주 전부터 친구들과 작은 게임을 만들고 있었는데 회원가입 + 로그인 + 점수 + 랭킹을 제공하는 API를 만드는 일을 맡았다. springboot + jpa + mysql을 사용하여 만들고 있어서 내가 서버를 맡고 나머지 두명이 안드로이드와 IOS를 맡았다. 얼마 시간이 지나지 않았지만 워낙 내용이 간단한 게임이라 완성이 되었는데 AWS와 깃을 쓰면서 기억해주면 좋은 내용이 있어서 포스팅하게 되었다. 우선 코드가 모두 다 작성된 상태에서 출발한다. 우선 인텔리제이에서 springboot과 jpa를 사용하여 작성한 프로젝트가 있는 폴더를 깃에 업로드해주면 된다. git config --global user.name git config --global user.email 을 해주고 해당 리포지토리에서 ur..

[SpringBoot] JdbcSQLSyntaxErrorException: Syntax error in SQL statement

h2디비를 사용하다가 Mysql로 테스트해보려고 데이터베이스를 바꿨을 경우에 흔히 발생하는 오류이다. 해결법은 간단하다. 지금 보면 h2database의 경로를 써준것 바로 뒤에 세미콜론을 붙여서 무언가 더 써준게 있다. MODE = 어쩌구 이렇게 써져있는데 이걸 여기서 Mysql로 세팅해주는 것이다. 이렇게 해주고 실행하면 정상적으로 실행된다.

[SpringBoot] 서버 정지 시 Build cancelled while executing task 에러

가끔 스프링부트를 사용할때, 서버를 켰다가 다시 정지시켰을때 위와 같은 메시지가 뜨면서 Exception이 발생하는 경우가 있다. 코드에도 문제가 없고, 다른 여타 문제점들도 없는데 서버를 정지시킨다고 해서 빨간 문구가 잔뜩 뜨는게 좀 성가실 수 있다. 원인은 환경문제이다. gradle로 실행하게 했을 경우 발생하는 문제인데 해결법은 아주 간단하다. 윈도우의 경우 File -> Setting에 들어가면 다음과 같은 창이 뜨게 될 것이다. 그리고 여기서 밑에 보면 빨간색으로 동그라미 친 곳이 보일 것이다. 바로 여기가 Gradle로 되어 있을 경우 문제가 발생할 수 있다. 그러니 intelliJ가 실행시킬 수 있도록 설정을 바꾸어주자. 적용하고 나서 서버를 돌려도 또 똑같이 서버를 정지시키면 같은 에러가 ..

[SpringBoot] @RequiredArgsConstructor 는 정말 생성자 코드를 만들어낼까?

김영한님의 스프링 핵심 기본편강의를 보면서 lombok을 쓰면서 @RequiredArgsConstructor 을 사용하게 되었는데, 설명상으로는 필드에 final을 지정하면, 반드시 값을 지정해줘야 하니까. @RequiredArgsConstructor 라는 어노테이션이 알아서 값이 지정되야만 하는 것들을 위해서 생성자를 만들어낸다고 말씀하셨다. 과연 그럴까? (이런 의문이 든 이유는 신기해서이다... 어떻게 코드를 집어넣을 수 있는거지? ) 코드상으로 실제로 생성자가 있는 것과 정확히 일치한다고 말씀하셨다... 그래서 직접 확인해보고 싶어서 .class 파일을 디컴파일 해보았다. 디컴파일러로는 jd-gui가 가장 흔하게 쓰이는 것 같아서 다운받아서 사용했다. (그냥 검색하면 다운받는 곳이 주르르 나온다...

[SpringBoot] org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-200]

김영한님의 스프링입문 강좌를 보면서 공부하던 중 오류가 발생했다. h2데이터베이스를 이용해서 스프링부트에서 사용하려고 하는데 org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-200] 와 같은 에러가 발생하면서 오류가 발생했다. (회원목록을 좀 확인하려고 했는데 Whitelabel Error Page가 발생하면서 원하는 결과가 나오지 않았다.) 해결 방법은 간단하다. 스프링부트 2.4부터는 데이터베이스에 커넥션을 추가할때 spring.datasource.username=sa 를 반드시 추가해줘야 한다. (아 참고로 sa는 내가 사용하는 username이다. username을 달리 적었다면 본인껄 ..

반응형