Skip to content

Commit

Permalink
♻️ SMS 인증 요청 API 분기 (기존유저, 신규 유저)
Browse files Browse the repository at this point in the history
  • Loading branch information
waterfogSW committed Oct 2, 2024
1 parent 03488ab commit a8966f1
Showing 1 changed file with 59 additions and 49 deletions.
108 changes: 59 additions & 49 deletions openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,40 @@ paths:
'400':
$ref: '#/components/responses/BadRequest'

/auth/codes/{authCodeId}:
put:
summary: SMS 인증 코드 확인
/auth/codes/{authCodeId}/existingUser:
post:
summary: SMS 인증 코드 확인 (기존 유저)
description: 발급된 인증 코드 아이디(authCodeId)와 SMS 인증 코드로 인증을 완료합니다.
tags:
- auth
operationId: existingUserVerifyCode
parameters:
- $ref: '#/components/parameters/AuthCodeIdPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyCodeRequest'
responses:
'200':
description: 인증 완료 및 토큰 발급
content:
application/json:
schema:
$ref: '#/components/schemas/ExistingUserVerifyCodeResponse'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'

/auth/codes/{authCodeId}/newUser:
post:
summary: SMS 인증 코드 확인 (신규 유저)
description: 발급된 인증 코드 아이디(authCodeId)와 SMS 인증 코드로 인증을 완료합니다.
tags:
- auth
operationId: verifyCode
operationId: existingUserVerifyCode
parameters:
- $ref: '#/components/parameters/AuthCodeIdPath'
requestBody:
Expand All @@ -63,12 +90,13 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyCodeResponse'
$ref: '#/components/schemas/NewUserVerifyCodeResponse'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'


/users:
post:
summary: 회원 가입
Expand Down Expand Up @@ -339,6 +367,10 @@ components:
type: string
format: uuid
description: 인증 요청에 대한 고유 식별자 (UUID 형식)
userStatus:
type: string
enum: [ NEW, EXISTING ]
description: 사용자 상태 (신규 사용자 또는 기존 사용자)
required:
- authCodeId

Expand All @@ -352,55 +384,33 @@ components:
required:
- verificationCode

VerifyCodeResponseType:
type: string
enum: [ EXISTING_USER, NEW_USER ]

VerifyCodeResponse:
ExistingUserVerifyCodeResponse:
type: object
discriminator:
propertyName: responseType
mapping:
EXISTING_USER: '#/components/schemas/ExistingUserVerifyCodeResponse'
NEW_USER: '#/components/schemas/NewUserVerifyCodeResponse'
description: 기존 사용자 인증 응답
required:
- responseType
- accessToken
- refreshToken
- expiresIn
properties:
responseType:
$ref: '#/components/schemas/VerifyCodeResponseType'
description: 인증 응답 (기존 사용자와 신규 사용자 모두에 해당)

ExistingUserVerifyCodeResponse:
allOf:
- $ref: '#/components/schemas/VerifyCodeResponse'
- type: object
description: 기존 사용자 인증 응답
required:
- accessToken
- refreshToken
- expiresIn
properties:
accessToken:
type: string
description: 액세스 토큰
refreshToken:
type: string
description: 리프레시 토큰
expiresIn:
type: integer
description: 액세스 토큰의 유효 기간 (초 단위)
accessToken:
type: string
description: 액세스 토큰
refreshToken:
type: string
description: 리프레시 토큰
expiresIn:
type: integer
description: 액세스 토큰의 유효 기간 (초 단위)

NewUserVerifyCodeResponse:
allOf:
- $ref: '#/components/schemas/VerifyCodeResponse'
- type: object
description: 새 사용자 인증 응답
required:
- registerToken
properties:
registerToken:
type: string
description: 회원 가입을 위한 토큰
type: object
description: 새 사용자 인증 응답
required:
- registerToken
properties:
registerToken:
type: string
description: 회원 가입을 위한 토큰

RegisterUserRequest:
type: object
Expand Down

0 comments on commit a8966f1

Please sign in to comment.