회원가입, JWT/쿠키 로그인 및 로그아웃, 비밀번호 재설정, 이메일 인증 및 GitHub OAuth.

POST /auth/cookie/login

POST/auth/cookie/login

Auth:Cookie.Login

이메일/비밀번호(폼 필드 usernamepassword)로 인증하고 httpOnly 세션 쿠키를 설정합니다. 공개 엔드포인트입니다.

요청 본문: application/x-www-form-urlencoded, Body_auth_cookie_login_auth_cookie_login_post

필드형식필수설명
grant_typestring?Grant Type
usernamestringUsername
passwordstring (password)Password
scopestringScope
client_idstring?Client Id
client_secretstring?Client Secret

응답

상태설명
200Successful Response (object)
204No Content
400Bad Request (ErrorModel)
422Validation Error (HTTPValidationError)

POST /auth/cookie/logout

POST/auth/cookie/logout

Auth:Cookie.Logout

현재 사용자의 세션 쿠키를 제거합니다. 활성 세션이 필요합니다.

응답

상태설명
200Successful Response (object)
204No Content
401Missing token or inactive user.

POST /auth/jwt/login

POST/auth/jwt/login

Auth:Jwt.Login

이메일/비밀번호(폼 필드 usernamepassword)로 인증하고 JWT bearer access_token을 발급받습니다. 공개 엔드포인트입니다.

요청 본문: application/x-www-form-urlencoded, Body_auth_jwt_login_auth_jwt_login_post

필드형식필수설명
grant_typestring?Grant Type
usernamestringUsername
passwordstring (password)Password
scopestringScope
client_idstring?Client Id
client_secretstring?Client Secret

응답

상태설명
200Successful Response (BearerResponse)
400Bad Request (ErrorModel)
422Validation Error (HTTPValidationError)

POST /auth/jwt/logout

POST/auth/jwt/logout

Auth:Jwt.Logout

호출자의 현재 JWT 세션을 무효화합니다. 활성 bearer 토큰이 필요합니다.

응답

상태설명
200Successful Response (object)
401Missing token or inactive user.

POST /auth/register

POST/auth/register

Register:Register

이메일과 비밀번호로 직접 계정을 생성합니다. 공개 엔드포인트이며, 새 계정은 전역 관리자가 역할을 부여하기 전까지 어떤 테넌트 역할도 갖지 않습니다. 생성된 프로필을 반환합니다.

요청 본문: application/json, UserCreate

필드형식필수설명
emailstring (email)Email
passwordstringPassword
is_activeboolean?Is Active
is_superuserboolean?Is Superuser
is_verifiedboolean?Is Verified
full_namestring?Full Name
phonestring?Phone

응답

상태설명
201Successful Response (UserRead)
400Bad Request (ErrorModel)
422Validation Error (HTTPValidationError)

POST /auth/forgot-password

POST/auth/forgot-password

Reset:Forgot Password

이메일에 대한 비밀번호 재설정 토큰을 요청합니다. 공개 엔드포인트이며, 어떤 이메일이 존재하는지 노출하지 않도록 항상 202를 반환합니다. 토큰은 별도 경로로 전달됩니다(이 빌드에서는 서버 측 로그에 기록).

요청 본문: application/json, Body_reset_forgot_password_auth_forgot_password_post

필드형식필수설명
emailstring (email)Email

응답

상태설명
202Successful Response (object)
422Validation Error (HTTPValidationError)

POST /auth/reset-password

POST/auth/reset-password

Reset:Reset Password

유효한 재설정 토큰으로 새 비밀번호를 설정합니다. 공개 엔드포인트입니다.

요청 본문: application/json, Body_reset_reset_password_auth_reset_password_post

필드형식필수설명
tokenstringToken
passwordstringPassword

응답

상태설명
200Successful Response (object)
400Bad Request (ErrorModel)
422Validation Error (HTTPValidationError)

POST /auth/request-verify-token

POST/auth/request-verify-token

Verify:Request-Token

이메일 인증 토큰을 요청합니다. 공개 엔드포인트이며, 이메일 존재 여부와 무관하게 202를 반환합니다.

요청 본문: application/json, Body_verify_request_token_auth_request_verify_token_post

필드형식필수설명
emailstring (email)Email

응답

상태설명
202Successful Response (object)
422Validation Error (HTTPValidationError)

POST /auth/verify

POST/auth/verify

Verify:Verify

인증 토큰으로 이메일 주소를 확인합니다. 공개 엔드포인트입니다.

요청 본문: application/json, Body_verify_verify_auth_verify_post

필드형식필수설명
tokenstringToken

응답

상태설명
200Successful Response (UserRead)
400Bad Request (ErrorModel)
422Validation Error (HTTPValidationError)

2026-09-21 기준 플랫폼에 맞춰 작성했습니다.

© Geo-MLOps