API › Аутентификация

Аутентификация auth

6 actions · URL: /api.php?act=<name> или /api/v1/auth/<action>

auth_me GET /api.php?act=auth_me public read

Возвращает публичный профиль текущего пользователя. Если не залогинен — result: null.

Ответ result

user_id
int
username
string
displayname
string
photo
string (URL)
email
string (только для self)
verified
bool (только для self)

Пример

curl -H 'Authorization: Bearer <token>' https://beon.vip/api.php?act=auth_me
rate-limit: 60 / 1 мин на ip
auth_login POST /api.php?act=auth_login public write

Cookie-логин (для веб-клиента). Требует предварительный csrf_token. Возвращает CSRF и auth_token.

Параметры

имятипreqописание
email string да email или username
password string да

Ответ result

user
object
csrf_token
string
auth_token
string (bearer)
rate-limit: 10 / 1 ч на ip
auth_signup POST /api.php?act=auth_signup public write

Регистрация. Поддерживает invite, captcha (g-recaptcha-response), TOS-флаг.

Параметры

имятипreqописание
email string да
password string да
password2 string нет по умолч. = password
username string если setting_username=1
agree int если включён TOS 1 — согласие
invite_code string если включены invite-коды
g-recaptcha-response string если включена captcha
timezone string нет по умолч. из настроек

Ответ result

created
bool
user_id
int
logged_in
bool
csrf_token
string|null
verify_required
bool
rate-limit: 3 / 1 ч на ip
auth_logout POST /api.php?act=auth_logout auth write csrf

Выход для cookie-сессии: чистит куки и se_session_auth-запись.

Ответ result

logged_out
bool
rate-limit: 30 / 1 мин на user
auth_token_issue POST /api.php?act=auth_token_issue public write no-csrf

Stateless-логин для мобильных и сторонних клиентов. Возвращает bearer-токен. CSRF не требуется.

Параметры

имятипreqописание
email string да email или username
password string да
persistent int нет 1 (по умолч.) — длинный срок жизни

Ответ result

token
string (40 hex)
token_type
"Bearer"
user
object

Пример

curl -X POST -d email=USER -d password=PASS \
  https://beon.vip/api.php?act=auth_token_issue
rate-limit: 10 / 1 ч на ip
auth_token_revoke POST /api.php?act=auth_token_revoke auth write csrf

Отзывает bearer-токен текущего запроса. Если bearer не передан — выходит из cookie-сессии.

Ответ result

revoked
bool
logged_out
bool (только в fallback-режиме)
rate-limit: 30 / 1 ч на user