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