Использование токена обновления
Авторизация с использованием токена обновления — более безопасный способ авторизации API-запросов. Вместо непосредственного использования одних и тех же долгосрочных учетных данных вы обмениваете токен обновления на краткосрочный токен доступа. Когда срок действия токена доступа истекает, вы повторяете обмен.
Обратите внимание: сам по себе токен обновления нельзя использовать для авторизации API-запросов; сначала его всегда необходимо обменять на токен обновления.
Чтобы использовать этот способ, выберите вариант refresh token при создании токена в Admin → Developer. При создании вы получите три значения:
-
Client ID – идентифицирует вашу интеграцию
-
Client secret – используется для аутентификации запроса на обмен
-
Refresh token – используется для получения токенов доступа
Обмен токена обновления на токен доступа
Отправьте запрос POST на конечную точку выдачи токенов Altium Identity.
Token Endpoint
Область |
URL |
Altium 365 |
|
Altium 365 Gov Cloud |
|
Request Body (application/x-www-form-urlencoded)
grant_type=refresh_token
refresh_token={refresh-token}
client_id={client-id}
client_secret={client-secret}
Response
{
"access_token": "...",
"expires_in": 14400,
"token_type": "Bearer",
"refresh_token": "...",
"scope": "..."
}
Используйте access_token из ответа для авторизации API-запросов. expires_in указывается в секундах и определяет срок действия токена доступа.
curl Example:
curl -X POST https://auth.altium.com/connect/token \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=refresh_token" \
--data-urlencode "refresh_token={refresh-token}" \
--data-urlencode "client_id={client-id}" \
--data-urlencode "client_secret={client-secret}"
Интеграция в ваше приложение
Типовая схема для интеграций, работающих длительное время:
-
Храните токен обновления, идентификатор клиента и секрет клиента в безопасном месте (например, в переменных среды или в системе управления секретами).
-
При запуске обращайтесь к конечной точке выдачи токенов, чтобы получить новый токен доступа.
-
Используйте токен доступа для API-запросов. Храните его в кэше до истечения срока действия.
-
По истечении срока действия (HTTP-статус
401 Unauthorizedили200 OKс кодом ошибкиAuthExpiredTokenв ответе GraphQL) снова обменяйте токен обновления, чтобы получить новый токен доступа.
Срок действия токенов обновления задается при создании и составляет до 1 года. Когда срок действия токена обновления истечет, вам потребуется создать новый в разделе «Администрирование → Разработчик».
См. также