keystone v2 - получить токен без использования ID пользователя / пароля

Я пишу одно приложение, которое выполняет аутентификацию с использованием API-интерфейса keystone v2.0, и теперь во время аутентификации /v2.0/tokens я получаю токен для всех проектов, к которым у пользователя есть доступ.

Теперь, когда проект добавляется с помощью horizon, как я могу получить токен для этого проекта, так как я не храню идентификатор пользователя / пароль для вошедшего в систему пользователя, и чтобы получить токен для проекта, мне нужно отправить /v2.0 / токены с указанными ниже данными POST,

{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "user", "password": "password"}}}

Но так как я не сохраняю идентификатор пользователя / пароль, как только пользователь войдет в систему, затем после защиты, как я могу получить токен для нового проекта?

Нужно ли где-то хранить идентификатор пользователя / пароль, который можно будет использовать позже? Если да, то каков обычно лучший способ хранения учетных данных пользователя?

С уважением, -M-

2 ответа

Изучив код keystoneclient v2, я получил ответ, мы можем получить токен нового проекта, используя сам существующий токен.

data = {"auth": {"token": {"id": token}}}
data['auth']['tenantName'] = tenantName;

С уважением, -M-

Существуют различные режимы аутентификации, это может быть токен, пароль, oauth и т. Д. Если вы ранее запрашивали токен с незаданной областью, то вы можете использовать токен с незаданной областью, чтобы получить один из них (для проекта / арендатора).

Другие вопросы по тегам