OAuth в SDK
Сначала установите SDK и получите токены приложения. Client Secret и refresh token должны оставаться на сервере.
Автоматическое обновление OAuth-токена
Автоматическое обновление предназначено для серверной OAuth-интеграции. Передайте все три значения refreshToken, clientId, clientSecret и сохраните новые токены в onTokenRefreshed:
const client = new AiSenlerClient({
accessToken: "access_token",
refreshToken: "refresh_token",
clientId: "client_id",
clientSecret: process.env.SENLER_CLIENT_SECRET!,
onTokenRefreshed: async (newAccessToken, newRefreshToken) => {
await saveTokensAtomically(newAccessToken, newRefreshToken);
},
});
После ответа 401 SDK один раз вызывает POST /api/apps/oauth/token, обновляет токены, дожидается onTokenRefreshed и повторяет исходный запрос. Заранее по времени истечения токен не обновляется. Частичная конфигурация refresh-механизма не принимается TypeScript-типами.
Token endpoint заменяет refresh token после успешного обновления, поэтому сохраняйте access token и refresh token вместе. Client Secret и refresh token должны оставаться на сервере.
Замените токен вручную
Если токен обновляется вне SDK, замените его перед следующим запросом:
client.accessToken = newAccessToken;
Причины неуспешных запросов описаны в ошибках SDK.