package webauthn import ( "context" "gitea.perlbach24.de/scripte/nexarch/internal/auth" ) // CompleteLogin verifiziert die WebAuthn-Signatur und stellt bei Erfolg ein // normales IAM-02-Sitzungs-Token aus — komponiert auth.TokenIssuer, ohne // LoginService/IAM-02 selbst zu veraendern. Passwort+TOTP (IAM-02/IAM-04) // bleiben davon vollstaendig unberuehrt und weiterhin nutzbar // (Akzeptanzkriterium 3). func CompleteLogin(ctx context.Context, store *Store, issuer *auth.TokenIssuer, tenantSlug, userID, challenge, credentialID string, signature []byte) (token string, err error) { if err := store.FinishLogin(ctx, userID, challenge, credentialID, signature); err != nil { return "", err } return issuer.Issue(userID, tenantSlug) }