Každá chyba dedí z RoundlyConsulting\Passkeys\Exceptions\PasskeyException (RuntimeException). Zachyťte základ pre jednotnú odpoveď, alebo konkrétneho potomka pre jemnejšie riadenie:
use RoundlyConsulting\Passkeys\Exceptions\PasskeyException;
try {
$passkey = Passkeys::authenticate($response);
} catch (PasskeyException $e) {
// Return a uniform failure to the client; log $e server-side.
return response()->json(['message' => 'Sign-in failed.'], 422);
}Chyby ceremónie
| Výnimka | Kedy nastane |
|---|---|
InvalidClientData | clientData.type je nesprávny, odpoveď je poškodená, atestačný fmt nie je platný identifikátor formátu alebo identifikátor používateľa nie je base64url z náhodných bajtov. |
ChallengeExpired | Pre ID ceremónie neexistuje challenge — vypršala alebo už bola použitá. |
ChallengeMismatch | Challenge sa nezhoduje, bola vydaná pre iného používateľa alebo pre iný typ ceremónie. |
OriginMismatch | Origin nie je v allowliste alebo cross-origin ceremónia nie je povolená. |
RpIdMismatch | Hash RP ID v údajoch autentifikátora sa nezhoduje. |
InvalidAuthenticatorData | Chybné údaje autentifikátora, chýbajúci príznak prítomnosti, nekonzistentné príznaky zálohy, oprávnenosť na zálohu odlišná od registrovanej alebo chýbajúce atestované údaje. |
UserVerificationRequired | Vyžadovalo sa overenie používateľa, no autentifikátor ho neoveril. |
UnsupportedAlgorithm | Algoritmus kľúča nie je medzi ponúknutými. |
SignatureInvalid | Podpis neprešiel overením. |
SignCountRegression | Počítadlo sa neposunulo a sign_count_policy je reject. |
CredentialAlreadyRegistered | ID kľúča je už uložené, vrátane odvolaných. |
CredentialNotFound | Jednotný neúspech: neznámy kľúč, kľúč, ktorý ceremónia viazaná na používateľa neponúkla, prihlásenie bez mena bez userHandle, nesplnené očakávanie, kľúč odvolaný počas overovania alebo premenovanie či odvolanie kľúča iného účtu. |
InvalidExpectation | AuthenticationExpectation::owner() dostal neuložený model — programátorská chyba, nie výsledok ceremónie. |
Konfigurácia, dekódovanie a atestácia
| Výnimka | Kedy nastane |
|---|---|
InvalidConfiguration | Pri štarte: konfiguračná hodnota nesprávneho tvaru s názvom kľúča (table až pri prvom čítaní), nepreverený algoritmus, dôvera prísnejšia ako ignore pri attestation none alebo tolerancia mimo 0–3600. Pri prvej ceremónii: chýba rp.id alebo origins. Pri prvom použití: nečitateľná kotva dôvery. |
MalformedCbor | Údaje CBOR sú poškodené. |
InvalidCoseKey | Verejný COSE kľúč je neplatný. |
InvalidAttestation | Matematika atestačného vyhlásenia nesedí. |
AttestationUntrusted | Vyhlásenie je v poriadku, no politika ho odmietla — neukotvený koreň, žiadne nakonfigurované kotvy, self-atestácia pri basic, neplatná certifikačná cesta, expirovaný certifikát alebo nepovolený AAGUID. |
AttestationRequired | Stupeň dôvery vyžaduje vyhlásenie a autentifikátor poslal none. |
UnsupportedAttestationFormat | Formát nemá overovač (podporované sú none, packed a apple). |
PasskeyAssertionFailed | Zlyhala asercia Passkeys::fake(). |
Hlásenia sa prekladajú cez menný priestor passkeys::errors.* — publikujte passkeys-translations a lokalizujte ich.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.