You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Дописать бизнес-логику логина: в internal/userservice/service/service.go реализовать Login, использовать свой user.User, а не os/user, проверять bcrypt-хэш, статус пользователя (PENDING/ACTIVE; сейчас константа опечатана как PENDIG), и отказ, если почта не подтверждена
Реализовать GetByLogin/GetByEmail в internal/userservice/repository/repository.go с выборкой полей id/login/email/password/status; поправить импорты (убрать os/user) и ошибки
Добавить генерацию/проверку JWT (пакет github.com/golang-jwt/jwt/v5): helper с claims (sub, iat, exp, token_version), конфиг JWT_ACCESS_TTL, JWT_REFRESH_TTL, JWT_PRIVATE_KEY/PUBLIC_KEY или JWT_SECRET
Расширить протокол protos/user.proto: LoginUserResponse вернуть access_token, refresh_token, expires_in; добавить RPC RefreshToken, Logout/RevokeAllSessions, при необходимости ValidateToken для gateway. Пересгенерировать стабы
Миграция на refresh_tokens таблицу (user_id, token_id/uuid, token_hash, expires_at, revoked_at, user_agent/device_id, created_at). В сервисе — ротация refresh, хранение только хэша, проверка версии пользователя