auth
auth API, 엔드포인트 9개 (자동 생성)
회원가입, JWT/쿠키 로그인 및 로그아웃, 비밀번호 재설정, 이메일 인증 및 GitHub OAuth.
POST /auth/cookie/login
POST/auth/cookie/login
Auth:Cookie.Login
이메일/비밀번호(폼 필드 username 및 password)로 인증하고 httpOnly 세션 쿠키를 설정합니다. 공개 엔드포인트입니다.
요청 본문: application/x-www-form-urlencoded, Body_auth_cookie_login_auth_cookie_login_post
| 필드 | 형식 | 필수 | 설명 |
|---|---|---|---|
grant_type | string? | Grant Type | |
username | string | ✓ | Username |
password | string (password) | ✓ | Password |
scope | string | Scope | |
client_id | string? | Client Id | |
client_secret | string? | Client Secret |
응답
| 상태 | 설명 |
|---|---|
| 200 | Successful Response (object) |
| 204 | No Content |
| 400 | Bad Request (ErrorModel) |
| 422 | Validation Error (HTTPValidationError) |
POST /auth/cookie/logout
POST/auth/cookie/logout
Auth:Cookie.Logout
현재 사용자의 세션 쿠키를 제거합니다. 활성 세션이 필요합니다.
응답
| 상태 | 설명 |
|---|---|
| 200 | Successful Response (object) |
| 204 | No Content |
| 401 | Missing token or inactive user. |
POST /auth/jwt/login
POST/auth/jwt/login
Auth:Jwt.Login
이메일/비밀번호(폼 필드 username 및 password)로 인증하고 JWT bearer access_token을 발급받습니다. 공개 엔드포인트입니다.
요청 본문: application/x-www-form-urlencoded, Body_auth_jwt_login_auth_jwt_login_post
| 필드 | 형식 | 필수 | 설명 |
|---|---|---|---|
grant_type | string? | Grant Type | |
username | string | ✓ | Username |
password | string (password) | ✓ | Password |
scope | string | Scope | |
client_id | string? | Client Id | |
client_secret | string? | Client Secret |
응답
| 상태 | 설명 |
|---|---|
| 200 | Successful Response (BearerResponse) |
| 400 | Bad Request (ErrorModel) |
| 422 | Validation Error (HTTPValidationError) |
POST /auth/jwt/logout
POST/auth/jwt/logout
Auth:Jwt.Logout
호출자의 현재 JWT 세션을 무효화합니다. 활성 bearer 토큰이 필요합니다.
응답
| 상태 | 설명 |
|---|---|
| 200 | Successful Response (object) |
| 401 | Missing token or inactive user. |
POST /auth/register
POST/auth/register
Register:Register
이메일과 비밀번호로 직접 계정을 생성합니다. 공개 엔드포인트이며, 새 계정은 전역 관리자가 역할을 부여하기 전까지 어떤 테넌트 역할도 갖지 않습니다. 생성된 프로필을 반환합니다.
요청 본문: application/json, UserCreate
| 필드 | 형식 | 필수 | 설명 |
|---|---|---|---|
email | string (email) | ✓ | |
password | string | ✓ | Password |
is_active | boolean? | Is Active | |
is_superuser | boolean? | Is Superuser | |
is_verified | boolean? | Is Verified | |
full_name | string? | Full Name | |
phone | string? | Phone |
응답
| 상태 | 설명 |
|---|---|
| 201 | Successful Response (UserRead) |
| 400 | Bad Request (ErrorModel) |
| 422 | Validation Error (HTTPValidationError) |
POST /auth/forgot-password
POST/auth/forgot-password
Reset:Forgot Password
이메일에 대한 비밀번호 재설정 토큰을 요청합니다. 공개 엔드포인트이며, 어떤 이메일이 존재하는지 노출하지 않도록 항상 202를 반환합니다. 토큰은 별도 경로로 전달됩니다(이 빌드에서는 서버 측 로그에 기록).
요청 본문: application/json, Body_reset_forgot_password_auth_forgot_password_post
| 필드 | 형식 | 필수 | 설명 |
|---|---|---|---|
email | string (email) | ✓ |
응답
| 상태 | 설명 |
|---|---|
| 202 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
POST /auth/reset-password
POST/auth/reset-password
Reset:Reset Password
유효한 재설정 토큰으로 새 비밀번호를 설정합니다. 공개 엔드포인트입니다.
요청 본문: application/json, Body_reset_reset_password_auth_reset_password_post
| 필드 | 형식 | 필수 | 설명 |
|---|---|---|---|
token | string | ✓ | Token |
password | string | ✓ | Password |
응답
| 상태 | 설명 |
|---|---|
| 200 | Successful Response (object) |
| 400 | Bad Request (ErrorModel) |
| 422 | Validation 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
| 필드 | 형식 | 필수 | 설명 |
|---|---|---|---|
email | string (email) | ✓ |
응답
| 상태 | 설명 |
|---|---|
| 202 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
POST /auth/verify
POST/auth/verify
Verify:Verify
인증 토큰으로 이메일 주소를 확인합니다. 공개 엔드포인트입니다.
요청 본문: application/json, Body_verify_verify_auth_verify_post
| 필드 | 형식 | 필수 | 설명 |
|---|---|---|---|
token | string | ✓ | Token |
응답
| 상태 | 설명 |
|---|---|
| 200 | Successful Response (UserRead) |
| 400 | Bad Request (ErrorModel) |
| 422 | Validation Error (HTTPValidationError) |