Compare commits
2 Commits
cce7622ae1
...
feature/co
| Author | SHA1 | Date | |
|---|---|---|---|
| 87595300b7 | |||
| 0f93308c65 |
@@ -182,9 +182,9 @@ type ItemPlacement struct {
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🔐 Этап 2: Аутентификация (Неделя 2)
|
## 🔐 Этап 2: Аутентификация (Неделя 2) ✅ ЗАВЕРШЁН
|
||||||
|
|
||||||
### Шаг 2.1: JWT аутентификация
|
### Шаг 2.1: JWT аутентификация ✅
|
||||||
- [x] Создать `internal/auth/jwt.go`
|
- [x] Создать `internal/auth/jwt.go`
|
||||||
- [x] Реализовать генерацию и валидацию JWT токенов
|
- [x] Реализовать генерацию и валидацию JWT токенов
|
||||||
- [x] Добавить organization-scope в токены
|
- [x] Добавить organization-scope в токены
|
||||||
@@ -201,12 +201,12 @@ type Claims struct {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Шаг 2.2: Хеширование паролей
|
### Шаг 2.2: Хеширование паролей ✅
|
||||||
- [x] Создать `internal/auth/password.go`
|
- [x] Создать `internal/auth/password.go`
|
||||||
- [x] Использовать bcrypt для хеширования
|
- [x] Использовать bcrypt для хеширования
|
||||||
- [x] Добавить функции проверки паролей
|
- [x] Добавить функции проверки паролей
|
||||||
|
|
||||||
### Шаг 2.3: API endpoints для аутентификации
|
### Шаг 2.3: API endpoints для аутентификации ✅
|
||||||
- [x] `POST /api/auth/register` - регистрация организации и пользователя
|
- [x] `POST /api/auth/register` - регистрация организации и пользователя
|
||||||
- [x] `POST /api/auth/login` - вход в систему
|
- [x] `POST /api/auth/login` - вход в систему
|
||||||
- [x] `POST /api/auth/refresh` - обновление токена (опционально)
|
- [x] `POST /api/auth/refresh` - обновление токена (опционально)
|
||||||
@@ -226,6 +226,13 @@ type LoginRequest struct {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Результаты тестирования:**
|
||||||
|
- ✅ Регистрация: `POST /api/auth/register` - 201 Created
|
||||||
|
- ✅ Вход: `POST /api/auth/login` - 200 OK
|
||||||
|
- ✅ Middleware: JWT токены проходят валидацию
|
||||||
|
- ✅ JSON поля: исправлена конвертация в PostgreSQL
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🏗️ Этап 3: API структура (Неделя 3)
|
## 🏗️ Этап 3: API структура (Неделя 3)
|
||||||
|
|||||||
@@ -90,9 +90,9 @@ type OrganizationResponse struct {
|
|||||||
|
|
||||||
// LoginResponse ответ на аутентификацию
|
// LoginResponse ответ на аутентификацию
|
||||||
type LoginResponse struct {
|
type LoginResponse struct {
|
||||||
Token string `json:"token"`
|
Token string `json:"token"`
|
||||||
User UserResponse `json:"user"`
|
User UserResponse `json:"user"`
|
||||||
Organization OrganizationResponse `json:"organization"`
|
Organization OrganizationResponse `json:"organization"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateLocationRequest запрос на создание места хранения
|
// CreateLocationRequest запрос на создание места хранения
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"erp-mvp/core-service/internal/models"
|
"erp-mvp/core-service/internal/models"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user