- Shipped
- 15 novembre 2026 alle ore 02:41 UTC
- Author
- Kamo
- Commit
- c75df92
federation/: una parte dipendente da OIDC (PKCE S256 + nonce + stato) per Google / Microsoft / Apple / LinkedIn, e adattatori OAuth2 per GitHub (/utente + primario Verified /user/emails) e Facebook (/me + appsecret_proof), dietro uno L'interfaccia ProviderAdapter. id_tokens viene controllata rispetto al JWKS di ciascun provider (cached, recupero anticipato su un bambino sconosciuto al massimo una volta al minuto), emittente, audience/azp, expiry/iat e nonce; l'emittente di Microsoft è controllato contro Il token ha la propria chiave tid e identità sull'emittente del tenant + oid, mai sulla sua email. Il segreto client di Apple è un ES256 JWT firmato dal .p8 del registro (150 giorni, cached); il suo nome arriva una sola volta, come appleUser. Registrazioni di avvio/collegamento/iscrizione live in Redis (FEDST/FEDLK/FEDSU/FEDLS), uso singolo, spesi sulla strada e ripristinati con il loro TTL rimanente (e il comprovato identità) per colpa che non è del membro - mai dopo un legame sbagliato, Un codice rifiutato o un token falsificato. Collegamento: ricerca per (emittente, oggetto, connection_key); una risposta esistente NOT_LINKED e richiede una prova - password + il secondo fattore dell'account, o un codice all'email ACCOUNT (5 tentativi, 3 invii); LINK da una sessione connessa Ogni connessione/disconnessione invia l'e-mail dell'account e scrive il codice IDENTITY_LINKED / IDENTITY_UNLINKED. Un'identità collegata viene passata alla password A valle del percorso (FederatedSignInCompleter -> gate degli account, regole host/picker, regole di accesso, SignInCompletionService) più la politica dell'organizzazione (provider consentito MFA richiesto ma non iscritto = rifiutato qui). Non addebitato alla scala di blocco; invece, budget per callback/link per IP. I client provengono da PlatformOAuthClientResolver per i tipi *_SIGNIN - un'organizzazione La propria app solo sul proprio dominio verificato - e sono offerti solo a Config_json.signinStatus ENABLED (CONFIGURATO = solo piattaforma org). Nessuno è Configurato, quindi nulla di visibile cambia.
