Первый вход пользователя через Authoriza
Эта статья показывает практический результат первой интеграции: пользователь нажимает
«Войти», проходит аутентификацию и возвращается в приложение с созданной сессией.
Подробное объяснение Authorization Code Flow, PKCE, state и nonce находится в
статье о протоколе.
Что должно быть готово
Перед первым входом:
- создан Project;
- создано подключение App;
- выбран тип Public или Confidential;
- зарегистрирован точный Redirect URI;
- в приложении настроен SDK или OIDC-библиотека.
Если эти шаги ещё не выполнены, начните с быстрого старта или проверьте настройки подключения.
Сценарий первого входа
Пользователь
│
│ Нажимает «Войти»
▼
Ваше приложение
│
│ Запрос на вход
▼
Авториза
│
│ Пользователь проходит вход
▼
Авториза
│
│ Возвращает Authorization Code
▼
Ваше приложение
│
│ Обмен кода на токены
▼
Токены
│
▼
Пользователь вошёл
Приложение не получает пароль пользователя. Оно получает результат OIDC flow и использует проверенный ID Token для определения пользователя. Access Token применяется для запросов к защищённому API.
Вариант с SDK
const auth = createAuthoriza({
clientId: 'YOUR_CLIENT_ID',
redirectUri: 'https://example.com/auth/callback',
});
await auth.login();
SDK сам подготовит PKCE, отправит пользователя на вход и обработает callback на странице,
указанной в redirectUri. Отдельный вызов handleCallback() не требуется.
После возврата проверьте состояние:
const user = await auth.getUser(); const accessToken = await auth.getAccessToken();
Вызов getAccessToken() выполняйте после завершения восстановления сессии. Для интерфейса
используйте auth.isLoading, auth.isAuthenticated и auth.user.
Вариант с OIDC-библиотекой
Если SDK не подходит, используйте библиотеку, которая поддерживает discovery, Authorization Code Flow, PKCE, проверку callback и ID Token. Не реализуйте эти проверки вручную без необходимости. Начать выбор библиотеки можно со списка OIDC-библиотек.
Как понять, что вход завершён
- пользователь вернулся на зарегистрированный Redirect URI;
- code был обменён на токены;
- ID Token прошёл проверку;
- в приложении появилась локальная сессия;
getUser()возвращает пользователя илиauth.userсодержит его данные;- Access Token передаётся API в заголовке
Authorization: Bearer.
Если callback не обрабатывается, сначала сравните URI в запросе с настройкой App. Подробная диагностика находится в статье о Redirect URI.
Следующий шаг
Для JavaScript и TypeScript откройте руководство SDK. Для серверной или другой стековой интеграции изучите библиотеки OIDC. Если вы хотите реализоввать подключение самостоятельно, тогда ознакомьтесь с Authorization Code Flow.