API: Аутентификация
Документация API модуля аутентификации kodzero.auth.
Обзор
Модуль аутентификации доступен через свойство auth экземпляра Kodzero:
typescript
const kodzero = new Kodzero({ host, authCollection })
kodzero.auth // модуль аутентификацииМетоды
login(credentials)
Авторизация пользователя по email и паролю.
Сигнатура
typescript
login(credentials: LoginCredentials): Promise<LoginResult>Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
credentials.email | string | ✅ | Email пользователя |
credentials.password | string | ✅ | Пароль пользователя |
Возвращаемое значение
typescript
interface LoginResult {
user: AuthUser
tokens: Tokens
session: number
}Пример
typescript
const result = await kodzero.auth.login({
email: 'user@example.com',
password: 'secure_password'
})
console.log(result.user) // данные пользователя
console.log(result.tokens) // { access: '...', refresh: '...' }register(userData)
Регистрация нового пользователя.
Сигнатура
typescript
register(userData: RegisterData): Promise<RegisterResult>Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
userData.email | string | ✅ | Email пользователя |
userData.password | string | ✅ | Пароль |
userData.* | any | ❌ | Дополнительные поля |
Возвращаемое значение
typescript
interface RegisterResult {
user: AuthUser
tokens: Tokens
session: number
}Пример
typescript
const result = await kodzero.auth.register({
email: 'new@example.com',
password: 'secure_password',
name: 'Иван Иванов'
})verify()
Проверяет валидность текущего access-токена.
Сигнатура
typescript
verify(): Promise<boolean>Возвращаемое значение
true если токен валиден, false в противном случае.
Пример
typescript
const isValid = await kodzero.auth.verify()
if (isValid) {
console.log('Пользователь авторизован')
} else {
console.log('Необходима повторная авторизация')
}refresh()
Обновляет access-токен с помощью refresh-токена.
Сигнатура
typescript
refresh(): Promise<RefreshResult>Возвращаемое значение
typescript
// При успехе
{ tokens: { access: string, refresh: string } }
// При ошибке
{ tokens: null }Пример
typescript
const result = await kodzero.auth.refresh()
if (result.tokens) {
console.log('Токен обновлён')
} else {
console.log('Не удалось обновить токен')
}logout()
Выход из системы. Очищает токены.
Сигнатура
typescript
logout(): Promise<boolean>Возвращаемое значение
true при успешном выходе.
Пример
typescript
const success = await kodzero.auth.logout()
if (success) {
// Перенаправить на страницу входа
}setTokens(access, refresh?)
Устанавливает токены вручную. Полезно для восстановления сессии.
Сигнатура
typescript
setTokens(access: string, refresh?: string): voidПараметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
access | string | ✅ | Access токен |
refresh | string | ❌ | Refresh токен |
Пример
typescript
// Восстановление из localStorage
const access = localStorage.getItem('access_token')
const refresh = localStorage.getItem('refresh_token')
if (access && refresh) {
kodzero.auth.setTokens(access, refresh)
}clearTokens()
Очищает все токены.
Сигнатура
typescript
clearTokens(): voidПример
typescript
kodzero.auth.clearTokens()TypeScript типы
LoginCredentials
typescript
interface LoginCredentials {
email: string
password: string
}AuthUser
typescript
interface AuthUser {
_id: string
email: string
name: string
workspace: string
createdAt: string
updatedAt: string
[key: string]: any // дополнительные поля
}Tokens
typescript
interface Tokens {
access: string
refresh: string
}LoginResult / RegisterResult
typescript
interface LoginResult {
user: AuthUser
tokens: Tokens
session: number
}
interface RegisterResult {
user: AuthUser
tokens: Tokens
session: number
}TokensManager
Менеджер токенов доступен через kodzero.tokensManager:
Свойства
| Свойство | Тип | Описание |
|---|---|---|
access | string | Текущий access токен |
refresh | string | Текущий refresh токен |
Методы
| Метод | Возвращает | Описание |
|---|---|---|
hasAccess() | boolean | Есть ли access токен |
hasRefresh() | boolean | Есть ли refresh токен |
setAccess(token) | void | Установить access токен |
setRefresh(token) | void | Установить refresh токен |
clear() | void | Очистить оба токена |
Пример
typescript
const tm = kodzero.tokensManager
if (tm.hasAccess()) {
console.log('Access токен:', tm.access)
}
if (!tm.hasRefresh()) {
console.log('Refresh токен отсутствует')
}