Nieznajomy11 | 2020-04-16 20:59:30 UTC | #1
Przy tworzeniu konta sandboxa (sandbox-api.lvlup.pro), czasami poniższy endpoint zwraca użytkowników z id:0
:
https://sandbox-api.lvlup.pro/v4/sandbox/account/new
Przykładowa odpowiedź z tym błędem (dane oznaczone xxx zostały usunięte):
{
"id":0,
"username":"Botsford6983",
"password":"h43rhFAYRPlNQYMM",
"email":"xxx",
"apiKey":"xxx"
}
Klucz takiego użytkownika nie może potem być użyty, np. do wyświetlenia informacji o nim korzystając z endpointu /me
:
{
"msg":"wrong token",
"code":0
}
SystemZ | 2020-04-10 12:51:19 UTC | #2
Tutaj wystąpiły dwa błędy które są do poprawy:
- za małe limity tworzenia kont
- niepoprawna obsługa błędów DB przez funkcję która zwraca dane konta
- jeśli konto nie zostało utworzone w DB to nie powinno zostać zwrócone jako wynik i HTTP 200 lecz przynajmniej pusty HTTP 500
SystemZ | 2020-04-16 20:59:16 UTC | #3
Limity tworzenia kont już działają przy okazji tych zmian:
https://forum.lvlup.pro/t/dziennik-zmian-lvlup-pro-2020/13148/70?u=systemz
Okazało się że rate limit nie był włączony dla endpointów dedykowanych sandboxowi
Jeszcze brakuje lepszej obsługi błędów DB i wątek do zamknięcia.