К документации
ArisIDДля разработчиковВаш аккаунт ↗

Примеры интеграции

В примере JavaScript пароль приходит из формы вашего приложения, а токен остаётся в памяти. Вызовите signIn(identifier, password) из обработчика отправки формы.

JavaScript · вход и профиль
const base = 'https://idaris.tech/api.php';
let token = null;

async function request(action, options = {}) {
  const response = await fetch(`${base}?action=${action}`, {
    ...options,
    credentials: 'omit',
    headers: {
      ...(token ? { Authorization: `Bearer ${token}` } : {}),
      ...options.headers
    }
  });
  const data = await response.json();
  if (!response.ok) {
    if (response.status === 401) token = null;
    throw new Error(data.error || `HTTP ${response.status}`);
  }
  return data;
}

async function signIn(identifier, password) {
  const session = await request('login', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ method: 'auto', identifier, password })
  });
  token = session.access_token;
  const { account } = await request('me');
  return account;
}

async function signOut() {
  await request('logout', { method: 'POST' });
  token = null;
}
PHP · профиль (расширение cURL)
<?php
$token = getenv('ARISID_TOKEN');
if (!$token) throw new RuntimeException('Set ARISID_TOKEN');
$curl = curl_init('https://idaris.tech/api.php?action=me');
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['Authorization: Bearer '.$token],
    CURLOPT_TIMEOUT => 15,
]);
$body = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$error = curl_error($curl);
curl_close($curl);
if ($body === false) throw new RuntimeException($error);
$data = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
if ($status !== 200) throw new RuntimeException($data['error'] ?? 'API error');
$account = $data['account'];