AI Vibe Craft
← Назад к AI Vibe News

Редакция 19 апреля 2026 г.

Разборы

Я шесть раз собирал auth с нуля. Вот система, которую я бы построил сегодня

Я шесть раз собирал auth с нуля. Вот система, которую я бы построил сегодня. Автор thegdsks на Dev.to начинает двенадцатичастную серию о реальной аутентификации на Next.js 15 и Postgres: архитектура, таблицы и диаграмма всей системы. Уже во вводном материале он выделяет отдельный контур — систему

Автор thegdsks на Dev.to начинает двенадцатичастную серию о реальной аутентификации на Next.js 15 и Postgres: архитектура, таблицы и диаграмма всей системы. Уже во вводном материале он выделяет отдельный контур — систему токенов для сценариев, где AI-скрипты вызывают ваш API от имени пользователей и их нужно отличать от обычного браузерного входа.

«agent token system for AI scripts that call your API on behalf of users»

От классического входа к вызовам API для AI-скриптов

В блоке «What we are building» перечислены привычные для продакшена виды аутентификации: email/password, magic link, OAuth (Google и GitHub), passkeys, ограничение частоты запросов, сессии, сброс пароля и верификация почты. Параллельно автор формулирует задачу системы токенов для агентов: чтобы AI-скрипты, обращающиеся к API, не смешивались с обычным пользовательским сеансом и имели управляемые полномочия.

Agent tokens и MCP OAuth в дорожной карте серии

В оглавлении серии указана одиннадцатая статья с подзаголовком «Agent tokens / MCP OAuth» и описанием «Minting scoped tokens for scripts and AI agents». Помимо «человеческой» аутентификации автор выделяет линию MCP OAuth и выпуск ограниченных по области токенов для скриптов и AI-агентов — как отдельный сюжет серии, а не побочную ремарку.

Диаграмма: App Router, Postgres и таблица agent_tokens

В тексте приводится архитектурная схема: Next.js (App Router), маршруты /app/auth/* и /api/auth/*, Postgres и сущности вроде users, sessions, oauth_accounts, токенов сброса и верификации, passkeys и отдельно agent_tokens, плюс Redis/KV для rate limits и быстрых lookup; в качестве примера почтового канала упоминается Resend.

Для agent_tokens в превью полей фигурируют в том числе token_hash, массив permissions[] и expires_at. Автор в разных местах подчёркивает масштаб схемы формулировками «Nine tables, one cache» и «it is 8 tables with one join key» — обе метафоры есть в оригинале и отражают разный акцент: число таблиц и «склейку» по ключу.

Свойства безопасности и цена «своего» контура

Раздел «The security properties the system has to maintain» сводит ожидания к нумерованному списку требований: от отсутствия перечисления аккаунтов и одноразовости токенов до сроков жизни, хеширования, ротации сессий, rate limits, CSRF и структурированных audit logs — детали имеет смысл пересказывать только с опорой на первоисточник. Та же планка относится к контуру agent tokens и вызовам API от имени пользователей, о которых автор пишет во вводной части материала.

В блоке про trade-off приведены оценочные трудозатраты в часах (в том числе «60 hours» сфокусированной работы над первоначальной сборкой и «30 to 80 hours» ежегодного сопровождения для DIY-пути). Это не независимая статистика рынка, а цифры из его текста, с которыми читатель может сопоставить managed- или open-source-альтернативы.

По данным API Dev.to у этой публикации (дата 2026-04-18, 20:12:58 UTC) зафиксированы три публичные реакции, ноль комментариев и ориентировочное время чтения 5 минут; значение счётчика просмотров не передано — его нельзя интерпретировать как ноль.


Источники

  • Thegdsks. I've built auth six times. Here's the system I would build today. Дата обращения к странице: 2026-04-19, 09:08:12 UTC. Факты о содержании поста (включая формулировки про AI scripts и AI agents, MCP OAuth, сущность agent_tokens, требования безопасности и приведённые в тексте оценки трудозатрат в часах) — по полному тексту материала по этой ссылке.
  • Числовые поля ленты Dev.to для этой публикации: дата 2026-04-18 (время 20:12:58 UTC), 3 публичные реакции, 0 комментариев, время чтения 5 минут; поле просмотров не заполнено — по данным API платформы для этой страницы.