solver-sdk
Version:
SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system
84 lines • 2.92 kB
TypeScript
import { HttpClient } from '../utils/http-client.js';
/**
* API для работы с авторизацией и управлением токенами
*
* @example
* ```typescript
* // Revoke access token
* await sdk.auth.revokeToken(accessToken);
*
* // Revoke refresh token
* await sdk.auth.revokeToken(refreshToken);
*
* // Cookie-based logout
* await sdk.auth.logout();
* ```
*/
export declare class AuthApi {
private readonly httpClient;
constructor(httpClient: HttpClient);
/**
* Отзыв OAuth токена (access или refresh)
*
* Реализует RFC 7009 (Token Revocation)
*
* @param {string} token Access token или refresh token для отзыва
* @returns {Promise<{ ok: boolean }>} Результат операции
*
* @throws {Error} При ошибке сети или сервера
*
* @example
* ```typescript
* // Revoke access token
* await sdk.auth.revokeToken(session.accessToken);
*
* // Revoke refresh token
* await sdk.auth.revokeToken(session.refreshToken);
*
* // Revoke both
* await Promise.all([
* sdk.auth.revokeToken(session.accessToken),
* sdk.auth.revokeToken(session.refreshToken)
* ]);
* ```
*
* @remarks
* - Токен помечается как `revokedAt = now()` в базе данных
* - После отзыва токен больше нельзя использовать
* - API вызовы с отозванным токеном вернут 401
* - Refresh с отозванным refresh token не сработает
* - Безопасно вызывать повторно для уже отозванного токена
*/
revokeToken(token: string): Promise<{
ok: boolean;
}>;
/**
* Выход из системы (cookie-based сессия)
*
* Используется для веб-приложений с cookie-авторизацией.
* Для OAuth-приложений (Desktop, Mobile) используйте `revokeToken()`.
*
* @returns {Promise<{ ok: boolean }>} Результат операции
*
* @throws {Error} При ошибке сети или сервера
*
* @example
* ```typescript
* // Web app logout
* await sdk.auth.logout();
*
* // OAuth app logout (recommended)
* await sdk.auth.revokeToken(session.accessToken);
* await sdk.auth.revokeToken(session.refreshToken);
* ```
*
* @remarks
* - Очищает session cookie
* - Логирует событие logout в user activity
* - Для OAuth-клиентов используйте `revokeToken()` вместо этого метода
*/
logout(): Promise<{
ok: boolean;
}>;
}
//# sourceMappingURL=auth-api.d.ts.map