- Verschickt
- 15. November 2026 um 02:41 UTC
- Autor
- Kamo
- Commit
- c75df92
federation/: eine OIDC-verlassende Partei (PKCE S256 + nonce + state) für Google / Microsoft / Apple / LinkedIn und OAuth2-Adapter für GitHub (/user + primary verified /user/emails) und Facebook (/me + appsecret_proof), hinter einem ProviderAdapter-Schnittstelle. id_tokens werden mit dem JWKS jedes Providers verglichen (Cache, früher Abruf auf einem unbekannten Kind höchstens einmal pro Minute), Aussteller, audience/azp, expiry/iat und nonce; der Emittent von Microsoft wird mit den Der eigene Zeit- und Identitätsschlüssel des Tokens auf dem Mandantenaussteller + oid, niemals auf seiner E-Mail. Das Client-Geheimnis von Apple ist ein ES256 JWT, das von der .p8-Datei der Registrierung signiert wurde (150 Tage, Zwischengespeichert); sein Name kommt einmal vor, als appleUser. Start-/Link-/Anmeldedatensätze live in Redis (FEDST/FEDLK/FEDSU/FEDLS), einmalig, Auf dem Weg in und wiederhergestellt mit ihren verbleibenden TTL (und den bewährten Identität) auf ein Verschulden, das nicht dem Mitglied zuzurechnen ist - niemals nach einer falschen Bindung, Ein abgelehnter Code oder ein gefälschtes Token. Verknüpfung: Suche nach (Aussteller, Betreff, Verbindungsschlüssel); eine bestehende E-Mail antwortet NOT_LINKED und verlangt einen Nachweis - Passwort + den zweiten Faktor des Kontos oder eine Code an die ACCOUNT-E-Mail (5 Versuche, 3 Sendungen); LINK aus einer angemeldeten Sitzung Jedes verbinden/trennen mailt die Account-E-Mail und schreibt die E-Mail-Adresse IDENTITY_LINKED / IDENTITY_UNLINKED. Eine verknüpfte Identität wird an das Passwort übergeben Nachgeschaltete Pfade (FederatedSignInCompleter -> Account-Gates, Host/Picker-Regeln, Zugriffsregeln, SignInCompletionService) sowie die Richtlinie der Organisation (Provider erlaubt MFA gefordert, aber nicht eingeschrieben = hier abgelehnt). Nicht an die Lockout-Leiter abgerechnet; stattdessen pro IP-Rückruf/Link-Budget. Clients kommen von PlatformOAuthClientResolver für die *_SIGNIN-Typen - eine Ihre eigene App nur auf einer eigenen verifizierten Domain - und werden nur bei config_json.signinStatus ENABLED (CONFIGURED = nur für Plattform-Organisationen) Konfiguriert, sodass sich nichts sichtbar ändert.
