Login Process

Registration Flow

POST /auth/users

iOS App → AuthController → AuthService.createUser() → Google API (verifyIdToken)
→ Member-Service (emailDuplicationCheck) → Member-Service (registerMember)
→ JwtUtil (generate) → Member-Service (storeTokens)

Response: 201 Created + userId, accessToken, refreshToken


Login Flow

POST /auth/token

iOS App → AuthController → AuthService.issueToken() → Google API (verifyIdToken)
→ AuthenticationManager (authenticate) → JwtUtil (generate)
→ Member-Service (storeTokens) → Response (201 + tokens)

Response: 200 OK + accessToken, refreshToken


Refresh Token Flow

POST /auth/token/refresh

iOS App (with refresh token) → AuthController → AuthService.refreshToken()
→ Member-Service (findToken) → JwtUtil (extract & generate)
→ Member-Service (storeTokens) → Response (new tokens)

Response: 200 OK + new accessToken, refreshToken


Logout Flow

POST /auth/token/revoke

iOS App (with access token) → AuthController → AuthService.revokeToken()
→ Member-Service (deleteAllToken) → Response ("Logout successful")

Response: 200 OK + “Logout has been successful”


Component Legend

  • Client (gray) — iOS App
  • Controller (blue) — AuthController
  • Service (green) — AuthService
  • External API (yellow) — Google API
  • Member-Service (purple) — Inter-service calls
  • JWT Utility (orange) — JwtUtil
  • Security (red) — AuthenticationManager

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top