Go-библиотека для аутентификации без единой внешней зависимости
How HN: Go-dev-auth zero-dependency authentication library for Go
go-dev-auth — это комплексная библиотека аутентификации для Go, вдохновлённая better-auth и работающая на чистой стандартной библиотеке. В неё входят вход по email и паролю, OAuth 2.0/OIDC с PKCE, сессии, двухфакторная аутентификация, passkeys, magic links, организации, SSO, API-ключи и JWT. Поддерживаются PostgreSQL, MySQL, SQLite и MongoDB. Библиотека уже используется в продакшене на PostgreSQL, а до v1.0 остались примеры, обкатка MySQL и сторонний аудит безопасности.
Оба варианта по умолчанию ошибочны, просто в разные стороны: если ничего не настроено, но процесс работает за прокси, то все запросы разрешаются в адрес прокси, и все клиенты делят один бакет — задокументированное строгое правило «3 входа за 10 секунд» превращается в «3 за 10 секунд для всего вашего парка», а ограничитель отказывает в закрытом режиме. Это самодельный сбой.
- LVB
По-моему, здесь не на что смотреть. Куча кода, сваленная в кучу за месяц.
Основной упор здесь на «zero deps», хотя в таком случае я бы мог просто поручить это Claude, как они, вероятно, и сделали. К слову, я вполне не против подключить хорошо протестированную/поддерживаемую зависимость. Писать всё вручную вплоть до криптографических примитивов, как здесь, — это не преимущество.
- coppercrisp62
Любопытно, к чему вы пришли в хешировании паролей, поскольку zero deps в Go означает, что вы либо тянете x/crypto для bcrypt/argon2, либо пишете scrypt вручную из stdlib. Я проходил этот путь, и stdlib pbkdf2 там не было до недавнего времени.
- computerfriend
Readme и сообщения коммитов были написаны LLM без раскрытия. Код я не смотрел.