Keresés

Új hozzászólás Aktív témák

  • petyus_

    senior tag

    válasz bandi0000 #9127 üzenetére

    Ha nem jó a user/pass, akkor 401. 400 akkor, ha valami gond van a requesttel (pl nem küldött pass-t, csak usert).

    Loginnál jellemzően elég egy string, hogy invalid username or pass. (azért nem invalid username, meg külön invalid pass, hogy így ne lehessen kinyerni a username-eket).

    Registernél jó kérdés, hogy mi a jó statuscode már létező userre, [link] itt pl megy a vita, hogy jó-e a 409 (conflict), de fel is sorolja valaki, hogy a FB/Google/stb mit küld. Én 400-at küldenék, mert ugyan nem client hiba, de neki kell változtatnia a requesten ahhoz, hogy jó legyen.

    A hibakezelésnek meg nézz utána, core-ban (nem tudom milyen verziót használsz, azt hiszem 2.2-től, de lehet, hogy csak 3.0-tól) van egy ProblemDetails classt, ezt generálja ha validationError van. Ha túljut a validationön (ha csak az a gond, hogy már létezik ilyen felhasználó, akkor túljut), akkor megnézed, hogy van-e ilyen user, ha van, akkor a ModelState-hez adj hozzá hibát, és az mehet vissza, majd a framework csinál belőle problemdetailst (ez egyébként szabány [link] ).

    AVagy ha feleslegesen bonyolult neked a problemdetails, akkor csinálj egy saját error-handlert (action filter, vagy middleware), ahol olyan response-t csinálsz, amilyet akarsz, amit egyszerűen tudsz kezelni frontend oldalon.

Új hozzászólás Aktív témák

Hirdetés