UNPKG

solver-sdk

Version:

SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system

84 lines 2.92 kB
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