108 lines
3.9 KiB
YAML
108 lines
3.9 KiB
YAML
spring:
|
|
application:
|
|
name: user-service
|
|
|
|
datasource:
|
|
url: jdbc:h2:mem:testdb;MODE=MYSQL;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false
|
|
username: sa
|
|
password:
|
|
driver-class-name: org.h2.Driver
|
|
initialization-mode: always
|
|
# schema: classpath:h2/schema.sql
|
|
data: classpath:h2/data.sql
|
|
jpa:
|
|
hibernate:
|
|
generate-ddl: true
|
|
ddl-auto: create-drop
|
|
dialect: org.hibernate.dialect.MySQL5Dialect
|
|
properties:
|
|
hibernate:
|
|
format_sql: true
|
|
default_batch_fetch_size: 1000 # 1:N 관계를 해결하기 위해 필요
|
|
show-sql: true
|
|
h2:
|
|
console:
|
|
enabled: true
|
|
path: /h2
|
|
cache:
|
|
jcache:
|
|
config: classpath:ehcache.xml
|
|
mail: # 비밀번호 변경 이메일 발송
|
|
host: smtp.gmail.com # smtp host
|
|
port: 587 # smtp port
|
|
username: email_username # 계정
|
|
password: 'email_password' # 비밀번호 - 구글 보안 2단계 인증 해제, 보안 수준이 낮은 앱의 액세스 허용(https://myaccount.google.com/lesssecureapps)
|
|
properties:
|
|
mail:
|
|
smtp:
|
|
auth: true
|
|
starttls:
|
|
enable: true
|
|
required: true
|
|
security:
|
|
# oauth2 를 사용하려면 아래 google, naver, kakao 의 client-id, client-secret 을 발급받아야 한다.
|
|
oauth2:
|
|
client:
|
|
registration:
|
|
# /oauth2/authorization/google
|
|
google:
|
|
client-id: google_client_id # TODO
|
|
client-secret: google_client_secret # TODO
|
|
scope: profile,email
|
|
# 네이버는 Spring Security를 공식 지원하지 않기 때문에 CommonOAuth2Provider 에서 해주는 값들을 수동으로 입력한다.
|
|
# /oauth2/authorization/naver
|
|
naver:
|
|
client-id: naver_client_id # TODO
|
|
client-secret: naver_client_secret # TODO
|
|
redirect_uri: "{baseUrl}/{action}/oauth2/code/{registrationId}"
|
|
authorization_grant_type: authorization_code
|
|
scope: name,email,profile_image
|
|
client-name: Naver
|
|
# /oauth2/authorization/kakao
|
|
kakao:
|
|
client-id: kakao_client_id # TODO
|
|
client-secret: kakao_client_secret # TODO
|
|
redirect-uri: "{baseUrl}/{action}/oauth2/code/{registrationId}"
|
|
client-authentication-method: POST
|
|
authorization-grant-type: authorization_code
|
|
scope: profile_nickname, account_email
|
|
client-name: Kakao
|
|
provider:
|
|
naver:
|
|
authorization_uri: https://nid.naver.com/oauth2.0/authorize
|
|
token_uri: https://nid.naver.com/oauth2.0/token
|
|
user-info-uri: https://openapi.naver.com/v1/nid/me
|
|
# 기준이 되는 user_name 의 이름을 네이버에서는 response로 지정해야한다. (네이버 회원 조회시 반환되는 JSON 형태 때문이다)
|
|
# response를 user_name으로 지정하고 이후 자바 코드로 response의 id를 user_name으로 지정한다. (스프링 시큐리티에서 하위 필드를 명시할 수 없기 때문)
|
|
user_name_attribute: response
|
|
kakao:
|
|
authorization_uri: https://kauth.kakao.com/oauth/authorize
|
|
token_uri: https://kauth.kakao.com/oauth/token
|
|
user-info-uri: https://kapi.kakao.com/v2/user/me
|
|
user_name_attribute: id
|
|
|
|
logging.level:
|
|
org.hibernate.SQL: debug
|
|
org.hibernate.type: trace
|
|
|
|
file:
|
|
directory: ${user.home}/msa-attach-volume
|
|
messages:
|
|
directory: ${file.directory}/messages
|
|
|
|
# jwt token
|
|
token:
|
|
expiration_time: 7200000
|
|
refresh_time: 86400000
|
|
secret: egovframe_token_secret
|
|
|
|
# ftp server
|
|
ftp:
|
|
enabled: false # ftp 사용 여부, FTP 서버에 최상위 디렉토리 자동 생성 및 구현체를 결정하게 된다.
|
|
|
|
# eureka 가 포함되면 eureka server 도 등록되므로 해제한다.
|
|
eureka:
|
|
client:
|
|
register-with-eureka: false
|
|
fetch-registry: false
|