python-разработчик системы единого входа

грейд
senior
формат
удалённо по РФ
страна
Россия
опубликована
12 ноя

описание

Издательство «Национальное образование» развивает образовательные сайты: подготовка к ЕГЭ и ОГЭ, педагогический клуб, онлайн-школа, платформа материалов к учебникам. У всех сайтов общий вход — через собственную систему единого входа ЕМАП (сервер авторизации по OpenID Connect: регистрация, вход через VK ID и Яндекс ID, роли и права, организации-школы, админка). К ЕМАП подключены все продукты, поэтому ошибка в нём останавливает всё. Сейчас систему разрабатывает подрядчик — мы ищем человека, который примет систему, станет её техническим владельцем и будет отвечать за то, как устроен вход и права во всех продуктах.

задачи

  • разобрать ЕМАП целиком (протокол входа, выпуск и проверка токенов, ключи подписи, сессии, роли, организации, админка, интеграции с сайтами)
  • поддерживать описание системы в актуальном состоянии
  • принимать архитектурные решения и согласовывать их с техдиректором
  • превращать запросы бизнеса в задачи с критериями готовности и оценкой
  • дорабатывать бэкенд на Python (FastAPI, SQLAlchemy async, PostgreSQL)
  • при необходимости — фронтенды входа, ЛК и админки (Vue 3 + TypeScript)
  • подключать новые сайты и сервисы к единому входу
  • следить за безопасностью (хранение паролей и ключей, защита от подбора, права в админке)
  • писать и поддерживать автотесты (pytest, Playwright, Schemathesis)
  • выкладывать версии через GitLab CI вместе с инженерами эксплуатации
  • проверять подключённые сайты после выкладки
  • разбирать инциденты по логам и Sentry
  • следить за нагрузкой в пиковые периоды (начало учебного года, подготовка к экзаменам)
  • 1–2 месяца работать вместе с подрядчиком, принимать работу по результату и забирать знания и доступы
  • консультировать бэкенд, фронтенд, онлайн-школу и тестировщиков по вопросам входа и прав
  • вести документацию в Confluence

требования

  • 5+ лет коммерческой разработки на Python; уверенно FastAPI или другой асинхронный фреймворк, SQLAlchemy.
  • Глубокое понимание OAuth 2.0 и OpenID Connect с серверной стороны: authorization code с PKCE, refresh-токены, JWT, JWK, ротация ключей, logout, consent, scopes.
  • Опыт разработки или доработки сервера авторизации, а не только подключения к готовому.
  • Опыт проектирования систем: уметь описать архитектуру, выбрать решение и объяснить почему именно его.
  • Системный анализ: собрать требования, описать сценарии и критерии готовности, оценить трудоёмкость.
  • Безопасность веб-приложений: OWASP Top 10, хранение паролей и секретов, права доступа.
  • PostgreSQL: запросы, индексы, миграции, разбор медленных запросов.
  • Фронтенд на уровне чтения и правки: Vue 3 или React, TypeScript.
  • Docker, Kubernetes на уровне «собрать, выложить, посмотреть логи», GitLab CI.
  • Умение разбираться в чужом коде без описания и доводить работу до прода.
  • Работа с ИИ-помощниками (Claude Code, Cursor или похожие) как обычная часть процесса.
  • Будет плюсом: Опыт с Keycloak, Ory, Authentik — понимание, чем свой сервер отличается от готового; Вход через VK ID и Яндекс ID; Elasticsearch, Playwright, Sentry; Опыт в продуктах с большим числом пользователей и разными типами (ученики, родители, учителя, школы); Опыт приёмки работ у подрядчиков

условия

  • Удалённо, из любого региона России, полная занятость.
  • Оформление в штат по ТК РФ.
  • Готовы рассмотреть быстрый выход — старт в течение 1–2 недель.
  • Подчинение техническому директору; работа в связке с руководителями групп бэкенда, фронтенда, тестирования и эксплуатации.
  • Задачи и документация — Jira и Confluence, код — GitLab.

навыки

компания

похожие вакансии

статьи для разработчиков