인증 (Auth) API

태그: auth
기본 경로: /api/auth

Keystone 인증 토큰 발급, 세션 관리, 프로젝트 조회를 제공합니다.


인증 헤더

인증이 필요한 엔드포인트(로그인 제외)에는 다음 헤더를 포함해야 합니다.

헤더 설명
X-Auth-Token Keystone 인증 토큰
X-Project-Id OpenStack 프로젝트 UUID

엔드포인트 목록

메서드 경로 인증 필요 설명
POST /api/auth/login 없음 사용자 이름/비밀번호로 Keystone 토큰 발급
GET /api/auth/me 필요 현재 토큰의 사용자/프로젝트 정보 반환
GET /api/auth/projects 필요 사용자가 접근 가능한 프로젝트 목록 반환
POST /api/auth/token 필요 다른 프로젝트로 스코프 전환 (새 토큰 발급)

POST /api/auth/login

Keystone에 사용자 자격증명으로 인증하여 토큰을 발급받습니다. 로그인 성공 시 Redis에 세션 시작 시간을 저장합니다.

요청 본문

{
  "username": "string (필수)",
  "password": "string (필수)",
  "project_name": "string (선택)",
  "domain_name": "string (선택, 기본값: Default)"
}
필드 타입 필수 설명
username string OpenStack 사용자 이름
password string OpenStack 비밀번호
project_name string 아니오 스코프할 프로젝트 이름. 생략 시 사용자 기본 프로젝트 사용
domain_name string 아니오 사용자 도메인 이름 (기본값: Default)

응답 (200 OK)

{
  "token": "gAAAAA...",
  "project_id": "uuid-string",
  "project_name": "project-name",
  "user_id": "uuid-string",
  "username": "user-name",
  "expires_at": "2024-01-01T00:00:00Z"
}
필드 타입 설명
token string Keystone 인증 토큰. 이후 API 요청의 X-Auth-Token 헤더에 사용
project_id string 스코프된 프로젝트 UUID
project_name string 프로젝트 이름
user_id string 사용자 UUID
username string 사용자 이름
expires_at string 토큰 만료 시간 (ISO 8601)

오류 응답

상태 코드 설명
401 잘못된 사용자 이름 또는 비밀번호
400 요청 본문 형식 오류

GET /api/auth/me

현재 X-Auth-Token에 해당하는 사용자와 프로젝트 정보를 반환합니다.

요청 헤더

헤더 필수 설명
X-Auth-Token 유효한 Keystone 토큰
X-Project-Id 프로젝트 UUID

응답 (200 OK)

{
  "user_id": "uuid-string",
  "username": "user-name",
  "project_id": "uuid-string",
  "project_name": "project-name",
  "roles": ["member", "reader"]
}

오류 응답

상태 코드 설명
401 유효하지 않거나 만료된 토큰

GET /api/auth/projects

현재 사용자가 접근 가능한 모든 OpenStack 프로젝트 목록을 반환합니다. 프로젝트 전환 시 사용합니다.

요청 헤더

헤더 필수 설명
X-Auth-Token 유효한 Keystone 토큰
X-Project-Id 프로젝트 UUID

응답 (200 OK)

[
  {
    "id": "uuid-string",
    "name": "project-name",
    "description": "프로젝트 설명",
    "enabled": true,
    "domain_id": "uuid-string"
  }
]

오류 응답

상태 코드 설명
401 유효하지 않거나 만료된 토큰

POST /api/auth/token

현재 토큰을 기반으로 다른 프로젝트로 스코프된 새 토큰을 발급합니다. 프로젝트 전환 시 사용합니다.

요청 헤더

헤더 필수 설명
X-Auth-Token 유효한 Keystone 토큰
X-Project-Id 현재 프로젝트 UUID

요청 본문

{
  "project_id": "uuid-string (필수)"
}
필드 타입 필수 설명
project_id string 스코프할 대상 프로젝트 UUID

응답 (200 OK)

{
  "token": "gAAAAA...",
  "project_id": "uuid-string",
  "project_name": "project-name",
  "user_id": "uuid-string",
  "username": "user-name",
  "expires_at": "2024-01-01T00:00:00Z"
}

오류 응답

상태 코드 설명
401 유효하지 않거나 만료된 토큰
403 대상 프로젝트 접근 권한 없음

Afterglow — OpenStack Dashboard. MIT License.

This site uses Just the Docs, a documentation theme for Jekyll.