Поддерживаем AI: MCP-сервер Авториза и готовые инструкции для ИИ-чата

Redirect URI

Redirect URI — адрес callback-страницы приложения, на который authorization server возвращает пользователя после входа.

Стандарт

Redirect URI регистрируется у клиента заранее. Значение из authorization request должно совпадать с зарегистрированным значением.

Практика

Не используйте широкие шаблоны и неизвестные callback-адреса. Для production регистрируйте HTTPS-адрес. Для SPA и SDK технический callback redirectUri отличается от относительного пути, на который приложение перейдёт после входа.

Чем Authoriza может быть полезна

Authoriza проверяет зарегистрированный callback до завершения flow и тем самым помогает ограничить место возврата пользователя. Настройте URI по пошаговому руководству.

Redirect URI и переход после входа — не одно и то же

redirectUri SDK — технический callback OAuth/OIDC. На него Authoriza возвращает code и state, после чего SDK завершает flow. Параметр redirectAfterLoginTo — внутренний относительный путь приложения, например /dashboard. Он не регистрируется в Authoriza как Redirect URI.

const auth = createAuthoriza({
  clientId: 'YOUR_CLIENT_ID',
  redirectUri: 'https://example.com/auth/callback',
});

await auth.login({ redirectAfterLoginTo: '/dashboard' });

Разделение защищает от подмены внешнего адреса: SDK принимает только допустимый относительный путь для перехода внутри приложения.

Локальная разработка и production

Локальный callback:

http://localhost:3000/auth/callback

Production callback:

https://example.com/auth/callback

Это два разных URI. Если приложение работает на другом порту, имеет другой path или добавился trailing slash, значение нужно зарегистрировать отдельно согласно правилам вашего App.

Диагностика mismatch

Сравните значение из запроса со значением в кабинете посимвольно. Проверьте protocol, hostname, port, path, slash и client ID. Частая ошибка — зарегистрировать callback одного App, а запрос отправить с client_id другого.

Типичные ошибки

  • зарегистрировать https, а локально отправить http;
  • перепутать порт 3000 и 3005;
  • добавить trailing slash только в одном месте;
  • указать URL страницы после входа вместо технического callback;
  • использовать Redirect URI другого App.

Как проверить результат

  • URI есть в списке выбранного App;
  • значение запроса совпадает с ним полностью;
  • callback получает code и state;
  • SDK возвращает пользователя на относительный путь приложения;
  • production использует HTTPS и не зависит от localhost.

Почему нельзя использовать произвольный callback

Если authorization server принимал бы любой URI из запроса, злоумышленник мог бы отправить пользователя на свой сайт и получить OAuth-ответ. Регистрация URI связывает client_id с заранее известным местом возврата. Это не заменяет state и PKCE, но является обязательной частью защиты flow.

Несколько Redirect URI

App может иметь несколько URI для локальной, staging и production среды. Они должны быт ь явными и принадлежать вашему приложению. Не добавляйте временный адрес «на всякий случай»: список callback является частью security configuration и со временем становится труднее контролировать.

Callback должен быть техническим

Callback обрабатывает параметры протокола, очищает URL и передаёт управление приложению. Не смешивайте его с публичной landing page или страницей, которая не умеет обработать code, state и OAuth error. После завершения flow пользователь может быть перенаправлен на /dashboard или другой внутренний путь.

Диагностический порядок

  1. Скопируйте фактический redirect_uri из запроса.
  2. Сравните его с App в кабинете.
  3. Проверьте client_id.
  4. Проверьте issuer и environment.
  5. Проверьте, не изменяет ли reverse proxy protocol или port.
  6. Повторите вход после очистки старого flow storage.

Не исправляйте mismatch добавлением wildcard, если контракт Authoriza не подтверждает такую возможность.

Как это реализовано в Authoriza

App хранит список redirectUris. Пример:

https://example.com/auth/callback

Для локальной разработки:

http://localhost:3000/auth/callback

Проверяйте протокол, hostname, port, path и завершающий /. Redirect URI относится к конкретному App.

Чем Authoriza может быть полезна

Если вы хотите централизованно хранить разрешённые callback-адреса, Authoriza связывает Redirect URI с конкретным App и проверяет его в OAuth/OIDC flow. После проверки правил настройте URI по пошаговому руководству.

Готовы подключить авторизацию?
Не разрабатывайте. Не отлаживайте. Не поддерживайте. Подключите уже готовое бесплатно.
Начните прямо сейчас или свяжитесь с инженерной командой для обсуждения архитектуры.
Авториза

© 2026 ООО "Авториза"
ОГРН: 1265400016419
ИНН: 5473026131
Россия, Новосибирск