Depois do PR #464, precisamos aparar várias pontas para somente depois liberar a API:
Alterar texto "Aqui você poderá criar e gerenciars suas chaves de API.......", colocando link para post no blog (que será publicado) sobre formas de acessar os dados.
Adicionar model Token no admin
Desabilitar captcha em localhost (mas não em teste), pois não dá pra criar token
Autenticar usuário na interface do DRF caso usuário esteja logado no sistema
Adicionar subdomínio api.brasil.io já com versionamento no endpoint, de forma que as seguintes URLs funcionem:
Corrigir problema cache (Django) versus autenticação: quando tem cache pro endpoint requisitado no Redis, mesmo que o usuário mande o token no cabeçalho Authorization, o backend já responde com o que está no cache e isso não deveria ser feito, pois assim perdemos o controle de rate limit do usuário (e mesmo que o token esteja errado, ele receberá uma resposta 200). Alguns detalhes importantes:
O core.middlewares.NotLoggedUserFetchFromCacheMiddleware tem request.user.is_authenticated como False mesmo que Authorization seja
enviado.
Talvez os middlewares devam ficar na seguinte ordem: autenticação, rate limit e então cache. Dessa forma a requisição será barrada caso o token seja inválido, o rate limit irá funcionar e caso a requisição possa ser cacheada, o backend usará o cache e não processará tudo de novo.
The text was updated successfully, but these errors were encountered:
Depois do PR #464, precisamos aparar várias pontas para somente depois liberar a API:
Token
no adminapi.brasil.io
já com versionamento no endpoint, de forma que as seguintes URLs funcionem:Authorization
, o backend já responde com o que está no cache e isso não deveria ser feito, pois assim perdemos o controle de rate limit do usuário (e mesmo que o token esteja errado, ele receberá uma resposta 200). Alguns detalhes importantes:core.middlewares.NotLoggedUserFetchFromCacheMiddleware
temrequest.user.is_authenticated
comoFalse
mesmo queAuthorization
sejaenviado.
The text was updated successfully, but these errors were encountered: