KamoCRM

Вхід з Google, Microsoft, Apple, LinkedIn, Facebook і GitHub — модуль федерації (ID1. 1)

FeatureSecurityService
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). Немає не налаштовано, тому нічого не змінюється.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing