Update auth docs with UUIDv7 and next steps
This commit is contained in:
parent
3a23b6b523
commit
93ef55f53e
2 changed files with 56 additions and 0 deletions
|
|
@ -161,3 +161,19 @@ Este documento detalha, em ordem de prioridade, o que deve ser implementado no *
|
|||
- **Manter payloads** de login/refresh para o front atual.
|
||||
- **Adicionar campos** novos sem remover antigos.
|
||||
|
||||
---
|
||||
|
||||
## 9) Recomendação — Próximo item prioritário (checklist detalhado)
|
||||
|
||||
Baseado no plano de autenticação do backend, o próximo passo é solidificar o **core de autenticação** e preparar a base de **RBAC**.
|
||||
|
||||
### Backend: core de autenticação
|
||||
- [ ] Criar/validar schema de `users` e `refresh_tokens` (incluindo UUIDs e hash do token).
|
||||
- [ ] Implementar/validar `POST /auth/login` com retorno de `accessToken` + `refreshToken`.
|
||||
- [ ] Implementar/validar `POST /auth/refresh` com rotação de refresh token.
|
||||
- [ ] Implementar/validar `GET /auth/me` protegido por bearer token.
|
||||
- [ ] Aplicar regras mínimas de segurança (bcrypt, TTLs, bloqueio de usuário).
|
||||
|
||||
### Backend: base de autorização (RBAC)
|
||||
- [ ] Criar schema de `roles`, `permissions`, `user_roles`, `role_permissions`.
|
||||
- [ ] Implementar guards de JWT, Roles e Permissions nos controllers-chave.
|
||||
|
|
|
|||
|
|
@ -15,6 +15,46 @@
|
|||
|
||||
Este documento descreve as melhorias implementadas na autenticação para usar corretamente o ID do Auth do Appwrite.
|
||||
|
||||
## 🆕 Atualizações recentes (Gestão de usuários + AuthContext)
|
||||
|
||||
### 1) Geração de `auth-id-appwrite` com UUIDv7
|
||||
- **Onde**: API de gestão de usuários (`/api/gestao-usuarios`).
|
||||
- **O que mudou**:
|
||||
- O `auth-id-appwrite` agora é gerado via `uuidv7()` com prefixo `user_`.
|
||||
- Isso garante IDs **ordenáveis** e **mais únicos** no fluxo de criação de usuários.
|
||||
- O documento salvo em Appwrite passa a persistir exatamente o valor gerado.
|
||||
- **Por quê**:
|
||||
- UUIDv7 oferece ordenação temporal e melhor distribuição que UUIDv4.
|
||||
- Facilita auditoria e análise (IDs naturalmente ordenáveis).
|
||||
|
||||
### 2) População de `userRole` a partir do usuário persistido
|
||||
- **Onde**: `AuthContext`.
|
||||
- **O que mudou**:
|
||||
- Durante a verificação de autenticação, o usuário persistido em `localStorage` é parseado e armazenado no estado `user`.
|
||||
- O `userRole` passa a ser derivado diretamente de `user.nivel`.
|
||||
- Isso mantém o papel do usuário sincronizado com o que foi persistido no login.
|
||||
|
||||
### 3) Dependência `uuid` no frontend
|
||||
- **Onde**: `package.json`.
|
||||
- **O que mudou**:
|
||||
- Inclusão de `uuid` para suportar `uuidv7()` na geração de `auth-id-appwrite`.
|
||||
|
||||
---
|
||||
|
||||
## ✅ Checklist detalhado (alterações recentes)
|
||||
|
||||
### UUIDv7 no fluxo de criação de usuário
|
||||
- [x] Adicionar import do gerador `uuidv7` no handler de criação de usuários.
|
||||
- [x] Substituir a geração manual de `authId` por `uuidv7()` com prefixo `user_`.
|
||||
- [x] Garantir que o documento salvo usa o `auth-id-appwrite` gerado por UUIDv7.
|
||||
|
||||
### Evolução de autenticação no frontend
|
||||
- [x] Fazer parse do usuário persistido e armazenar em estado `user`.
|
||||
- [x] Derivar `userRole` a partir de `user.nivel` no mesmo fluxo de autenticação.
|
||||
|
||||
### Dependências
|
||||
- [x] Adicionar `uuid` nas dependências do frontend para uso de UUIDv7.
|
||||
|
||||
## 🔧 Alterações Implementadas
|
||||
|
||||
### 1. **Uso Correto do ID do Auth**
|
||||
|
|
|
|||
Loading…
Reference in a new issue