<aside> 💡 중요한 부분 위주로 진행하겠습니다.
</aside>
# 로컬용 profile
# 로컬에서 서버를 구동시키고 postman으로 테스트하고 싶을 떄
spring:
main:
allow-circular-references: true
datasource:
url: "jdbc:mysql://localhost:3306/rg"
username: dev
password: dev
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
show-sql: true
generate-ddl: false
database: mysql
open-in-view: false
hibernate:
ddl-auto: none
properties:
hibernate:
format_sql: true
use_sql_comments: true
security:
oauth2:
client:
registration:
kakao:
client-name: kakao
client-id: 8f248aa7874df072e8d15b2d0b284108 # REST API용
client-secret: tbGLY0lEfvxkrgFWfssEaXpWTS73nPJa # 보안
scope: profile_nickname, profile_image # 필수로 처리한 항목들
redirect-uri: "<http://localhost:8080/login/oauth2/code/{registrationId}>" # redirectURI , 마지막은 스프링 시큐리티에서 알아서 처리해서 넣어줌
authorization-grant-type: authorization_code #
client-authentication-method: POST
provider:
kakao:
authorization-uri: <https://kauth.kakao.com/oauth/authorize> # 1회성 인증을 받기위함
token-uri: <https://kauth.kakao.com/oauth/token> # 1회성 인증 코드를 이용해 accesscode를 발급받기 위함
user-info-uri: <https://kapi.kakao.com/v2/user/me> # kakao에서 사용자 정보를 가져오기 위한 api
user-name-attribute: id # 카카오에서 사용자 정보를 가지고 왔을 때 사용자의 고유 식별키 추출을 위한 필드명, 사용자 정보 가져오기의 회원 번호
jwt:
header: token
issuer: prgrms
client-secret: EENY5W0eegTf1naQB2eDeyCLl5kRS2b8xa5c4qLdS0hmVjtbvo8t0yhPMcAmtPuQ
expiry-seconds: 60
위에서 부터 차례대로 설명하겠습니다.
main:
allow-circular-references: true
먼저 이 부분은 문제 해결한 곳에서 설명했듯이 Spring boot 2.6버전 이후로 순환참조를 사용할때 붙여줘야 하는 설정입니다. 해당 강의에서는 순환참조가 발생하기 때문에 붙였습니다. 현재 순환참조를 해결하는 방법을 모르기 때문에 설정을 붙여줌으로써 에러를 해결하였습니다.
jpa:
show-sql: true
generate-ddl: false
database: mysql
open-in-view: false
hibernate:
ddl-auto: none
properties:
hibernate:
format_sql: true
use_sql_comments: true
jpa는 ddl-auto를 none으로 하고 진행하였는데 data.sql와 schema.sql을 설정할 것이 있어 이렇게 진행하였습니다. 실제 개발 코드에서는 최대한 쓰지 않는 방향으로 수정해보겠습니다.
jwt:
header: token
issuer: prgrms
client-secret: EENY5W0eegTf1naQB2eDeyCLl5kRS2b8xa5c4qLdS0hmVjtbvo8t0yhPMcAmtPuQ
expiry-seconds: 60
security를 하기전에 먼저 설명해야 할 것 같아서 앞으로 빼서 설명하겠습니다.
header: jwt토큰이 입력돼서 들어오는 헤더 이름을 의미한다.
issuer: jwt토큰의 발행자
client-secret: 토큰의 위변조 검증을 위한 시그니쳐, hs512알고리즘을 위한 64바이트 시크릿 키
expiry-seconds: 토큰만료시간
security
security:
oauth2:
client:
registration:
kakao:
client-name: kakao
client-id: 8f248aa7874df072e8d15b2d0b284108 # REST API용
client-secret: tbGLY0lEfvxkrgFWfssEaXpWTS73nPJa # 보안
scope: profile_nickname, profile_image # 필수로 처리한 항목들
redirect-uri: "<http://localhost:8080/login/oauth2/code/{registrationId}>" # redirectURI , 마지막은 스프링 시큐리티에서 알아서 처리해서 넣어줌
authorization-grant-type: authorization_code
client-authentication-method: POST
provider:
kakao:
authorization-uri: <https://kauth.kakao.com/oauth/authorize> # 1회성 인증을 받기위함
token-uri: <https://kauth.kakao.com/oauth/token> # 1회성 인증 코드를 이용해 accesscode를 발급받기 위함
user-info-uri: <https://kapi.kakao.com/v2/user/me> # kakao에서 사용자 정보를 가져오기 위한 api
user-name-attribute: id # 카카오에서 사용자 정보를 가지고 왔을 때 사용자의 고유 식별키 추출을 위한 필드명, 사용자 정보 가져오기의 회원 번호
먼저 위에서부터 주석으로 일단 기본적인 내용은 썼습니다.