Přeskočit obsah

OTP kódy

Entity: OtpCode (tabulka otp_codes)

Funkce: client_auth — akce request_otp, verify_otp, request_registration_otp, verify_registration_otp, request_phone_verification_otp, verify_phone_verification_otp

Prověřeno proti commitu: rozpracováno

Testy: backend/tests/Feature/Audit/OtpCodeAuditTest.php

Routy

Routa Perimetr Ochrana Controller
POST /api/public/client_auth request_otp veřejný klientský rate limit kontakt/IP, odeslání e-mailu nebo SMS demo kód FunctionsController::clientAuth
POST /api/public/client_auth verify_otp veřejný klientský OTP hash, účel login, expirace, jednorázové použití FunctionsController::clientAuth
POST /api/public/client_auth request_registration_otp veřejný klientský rate limit kontakt/IP, e-mail FunctionsController::clientAuth
POST /api/public/client_auth verify_registration_otp veřejný klientský OTP hash, účel registration, expirace, jednorázové použití FunctionsController::clientAuth
POST /api/public/client_auth request_phone_verification_otp veřejný klientský existující klient, rate limit kontakt/IP, SMS FunctionsController::clientAuth
POST /api/public/client_auth verify_phone_verification_otp veřejný klientský OTP hash, účel phone_verification, expirace, jednorázové použití FunctionsController::clientAuth

Opravené nálezy

Žádné otevřené ani opravené nálezy pro tento zdroj.

Ověřené bez nálezu

  • Nová OTP výzva zneplatní starší nepoužitý kód pro stejný kontakt, typ kontaktu a účel.
  • OTP kód se v databázi ukládá jako HMAC hash, ne jako čitelný šestimístný kód.
  • Úspěšné ověření OTP kód označí jako použitý, zapíše čas použití a stejný kód už nejde použít znovu.
  • Kód po překročení limitu pokusů se odmítne a zneplatní.
  • Ověření rozlišuje účel kódu (login, registration, phone_verification) už v existující feature sadě.