코드 가이드 문서
Spring Boot
Spring Cloud Eureka Client
JPA
Redis
MySQL
Amazon S3
client 정보에 따라 mobile/web으로 별개 관리
회원가입
로그인
AccessToken, RefreshToken 발급 후 redis에 저장
요청으로 받은 fcm token을 push server에게 갱신 요청함
chat 서버에 기존에 로그인 중인 device 강제 종료를 요청함 (기기별 동시 로그인 제한)
로그아웃
Token 재발급
refresh token을 대조하여 token 재발급
이메일 인증
기기별 동시 로그인 제한
마지막으로 로그인한 기기가 맞는지 체크 API
spring :
application :
name : auth-server
mvc :
pathmatch :
matching-strategy : ant_path_matcher
redis :
host : {{ your redis host }}
port : {{ your redis port }}
password : {{ your redis password }}
datasource :
driver-class-name : com.mysql.cj.jdbc.Driver
url : {{ your database url }}
username : {{ your database username }}
password : {{ your database password }}
jpa :
properties :
hibernate :
show_sql : true
format_sql : true
use_sql_comments : true
servlet :
multipart :
maxFileSize : 200MB
maxRequestSize : 200MB
eureka :
instance :
instance-id : {{ eureka client id }}
hostname : {{ eureka client hostname }}
ip-address : {{ eureka client ip address }}
prefer-ip-address : true # optional
client :
register-with-eureka : true
fetch-registry : true
service-url :
defaultZone : {{ eureka server url }} # A client is registered by sending a POST request to it.
mail :
id : {{ your email }}
password : {{ password }}
exp : 300
smtp :
auth : true
port : 465
starttls :
required : true
enable : true
socketFactory :
class : javax.net.ssl.SSLSocketFactory
fallback : false
port : 465
jwt :
secret : {{ your jwt secret }}
token :
exp :
access : 3600
refresh : 1209600
sha256 :
salt : {{ yout salt }}
api :
gateway : {{ your gateway-url }}
cloud :
aws :
credentials :
accessKey : {{ your credentials accessKey }}
secretKey : {{ your credentials secretKey }}
s3 :
bucket : {{ your bucket name }}
region :
static : {{ region }}
stack :
auto : false
cloudfront :
domain : {{ your cloudfront domain }}
management :
endpoints :
web :
exposure :
include : health, info, metrics, prometheus
metrics :
tags :
application : ${spring.application.name}