Диагностическое дерево для случая, когда браузерная авторизация проходит через Tailscale App Connector, а возврат в Android-приложение завершается ошибкой: доменный маршрут и native redirect проверяются раздельно.
Разделите один экран на четыре перехода
Фраза «вход открылся» объединяет разные операции. Отметьте отдельно: разрешился ли домен авторизации, прошёл ли HTTPS-запрос через App Connector, завершил ли сервер авторизации свою часть и какой тип redirect был вызван после неё. Не записывайте код авторизации, state, cookie или полный callback URL. Достаточно типа схемы, имени приложения и времени. Если ошибка появляется до отправки формы, исследуйте доменный путь. Если только после закрытия браузера, переносите внимание на переход из браузера в приложение, не перестраивая connector.
Что гарантирует App Connector
Tailscale настраивает App Connector списком application-specific domains и направляет к tagged connector трафик, соответствующий обнаруженным адресам этих доменов. Документация описывает DNS и DoH discovery, после которого маршруты объявляются клиентам. Это подтверждает доменную границу механизма, но не обещает обработку любой пользовательской URI-схемы. Сверьте только FQDN браузерной фазы с разрешённым списком и статус connector. Не расширяйте список на все домены организации: сначала установите, какой запрос действительно отсутствует.
Как native app получает ответ OAuth
RFC 8252 рекомендует проводить авторизацию нативных приложений во внешнем браузере и описывает несколько способов вернуть ответ: private-use URI scheme, claimed HTTPS redirect и loopback для настольных приложений. На Android соответствующая ссылка должна быть сопоставлена установленному приложению операционной системой. Поэтому успешный ответ в браузере и открытие нужного приложения — отдельные факты. Зафиксируйте, появилось ли системное предложение открыть приложение, открылось ли правильное приложение и показало ли оно ошибку уже после запуска.
Проведите обратимый тест одной переменной
Повторите вход один раз на том же устройстве и той же сети, сохранив неизменными учётную запись, приложение и список доменов. Сначала отметьте последний HTTPS-домен, затем факт системного перехода без копирования параметров URL. Если браузер остаётся на HTTPS-странице, проверяйте разрешённый redirect и Android App Link с владельцем приложения. Если приложение открывается, но отклоняет ответ, передавайте время и общий класс ошибки разработчику клиента. Не меняйте одновременно callback, connector и конфигурацию поставщика идентификации.
Красные флаги и данные для эскалации
Остановитесь, если для опыта предлагают вставить код авторизации вручную, отключить проверку redirect URI, зарегистрировать широкую wildcard-ссылку или опубликовать callback с параметрами. В безопасный пакет входят версии Android и приложения, тип redirect без секрета, домены браузерной фазы, состояние App Connector, временная шкала и точный локальный текст ошибки. Владельцу identity-сервиса полезен результат до redirect, разработчику Android — факт сопоставления ссылки, администратору Tailscale — только доменная и маршрутная часть. Такое разделение не смешивает ответственность систем.
Материал подготовлен редакцией с помощью ИИ, затем проверен по официальной документации Tailscale и первичному RFC 8252; форумная ветка использована только как обезличенный сигнал.
Источники и проверка
- Tailscale — Set up App Connectors проверено 2026-08-06
- Tailscale — App Connectors overview проверено 2026-08-06
- RFC 8252 — OAuth 2.0 for Native Apps проверено 2026-08-06
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.