Получение токена доступа (OS_TOKEN)

OS_TOKEN — временный токен доступа, который используется для авторизации запросов к API OpenStack.

Получить токен можно одним из следующих способов:

  • по логину и паролю пользователя;
  • по учетным данным приложения (Application Credentials).

Endpoint аутентификации

Для получения токена используется endpoint сервиса Keystone.

Пример:

https://auth.pscloud.io/v3

Используйте этот способ, если у вас есть учетные данные пользователя OpenStack и название проекта.

Выполните команду:

TOKEN=$(curl -i -s -X POST "$OS_AUTH_URL/auth/tokens" \
-H "Content-Type: application/json" \
-d '{
  "auth": {
    "identity": {
      "methods": ["password"],
      "password": {
        "user": {
          "name": "'$OS_USERNAME'",
          "domain": { "name": "Default" },
          "password": "'$OS_PASSWORD'"
        }
      }
    },
    "scope": {
      "project": {
        "name": "'$OS_PROJECT_NAME'",
        "domain": { "id": "default" }
      }
    }
  }
}' | awk -F': ' '/X-Subject-Token/ {print $2}' | tr -d '\r')

Результат

Команда сохранит полученный токен в переменную окружения TOKEN. Используйте ее для выполнения последующих запросов к API.

Используйте этот способ, если заранее создан доступ для приложения (Application Credentials).

Подготовка

  1. Перейдите в консоль управления PS Cloud Services.
    .

  2. Откройте раздел Облачные серверы и выберите проект.

  3. Перейдите в раздел Доступы для приложений.

  4. Нажмите Создать доступ.

  5. Укажите название и при необходимости описание, затем нажмите Создать.

После создания сохраните:

  • ID доступа;
  • секретный ключ.

Секретный ключ отображается только один раз. Сохраните его в надежном месте.

Выполните запрос:

curl -i -X POST https://auth.pscloud.io/v3/auth/tokens \
  -H "Content-Type: application/json" \
  -d '{
    "auth": {
      "identity": {
        "methods": ["application_credential"],
        "application_credential": {
          "id": "<APPLICATION_CREDENTIAL_ID>",
          "secret": "<APPLICATION_CREDENTIAL_SECRET>"
        }
      }
    }
  }'

Результат

В ответе будет возвращен заголовок X-Subject-Token. Это и есть токен доступа (OS_TOKEN), который можно использовать для авторизации запросов к API.

question
Не нашли подходящего ответа?
Напишите запрос в службу поддержки
Написать сейчас
  1. Main