- Shipped
- 15 листопада 2026 р. о 02:41 UTC
- Author
- Kamo
- Commit
- c75df92
federation /: довірена сторона OIDC (PKCE S256 + nonce + state) для Google / Microsoft / Apple / LinkedIn, і адаптери OAuth2 для GitHub (/user + primary) verified /user/emails) і Facebook (/me + appsecret_proof), за одним ProviderAdapter interface. id_ tokens перевіряються за JWKS кожного постачальника (кешування, раннє отримання на невідомому дитині не частіше одного разу на хвилину), видавець, audience/ azp, expiry/ ia і nonce; видавця Microsoft перевірено на відповідність власний ключ tid і профіль токену на адресі видання клієнта + oid, ніколи на адресі електронної пошти. Клієнтський секрет Apple є ES256 JWT, підписаний з реєстру .p8 (150 днів, кешовано); його ім’ я з’ являється один раз, як appleUser. Записи запуску/посилання/реєстрації в режимі реального часу в Redis (FEDST/FEDLK/FEDSU/FEDLS), одноразове використання, витрачені на шляху і відновлені з їх залишковим TTL (і перевіреним ідентичність) за помилкою, яка не належить члену — ніколи після неправильного прив’ язки, відмовлений код або підроблений токен. Посилання: пошук за (видавець, тема, ключ_ з’ єднання); існуючі відповіді електронної пошти NOT_ LINKED і вимагає доказу - пароль + другий фактор облікового запису, або код на адресу електронної пошти АКЦІОНЕРА (5 спроб, 3 надіслання); ЛІНК з вхідного сеансу вимагає того ж. Кожне з' єднання/ роз' єднання надсилає електронну пошту облікового запису і записує IDENTITY_LINKED / IDENTITY_UNLINKED. Поєднаний профіль передається до пароля шляху (FederatedSignInCompleter -> брами облікового запису, правила вузла/ вибору, правила доступу, SignInCompletionService) плюс правила організації (провайдер дозволив для аудиторії цього члена; MFA запитано, але не зареєстровано = тут відмовлено). Не враховується в блокувальній драбині; замість цього використовується бюджет зворотного виклику/з'єднання за IP-адресою. Клієнти надходять з PlatformOAuthClientResolver для типів * _ SIGNIN — організації власну програму лише на власному перевіреному домені — і пропонуються лише config_ json. signinStatus ВИКЛЮЧЕНО (CONFIG = тільки для платформи org). Немає не налаштовано, тому нічого не змінюється.
