KamoCRM

Faça login com Google, Microsoft, Apple, LinkedIn, Facebook e GitHub - o módulo de federação (ID1.1)

FeatureSecurityService
Enviado
15 de novembro de 2026 às 02:41 UTC
Autor
Kamo
Confirmação
c75df92

federação/: uma parte dependente do OIDC (PKCE S256 + nonce + estado) para Google / Microsoft / Apple / LinkedIn, e adaptadores OAuth2 para GitHub (/usuário + primário verified /user/emails) e Facebook (/me + appsecret_proof), atrás de um Interface ProviderAdapter. id_tokens são verificados em relação ao JWKS de cada provedor (cache, recuperação antecipada em um garoto desconhecido no máximo uma vez por minuto), emissor, audience/azp, expiry/iat e nonce; o emissor de Microsoft é verificado contra o O token tem sua própria chave de tid e identidades no emissor do locatário + oid, nunca em seu e-mail. O segredo do cliente de Apple é um JWT ES256 assinado a partir do registro .p8 (150 dias, cached); seu nome chega uma vez, como appleUser. Registros de início/vínculo/inscrição ao vivo em Redis (FEDST/FEDLK/FEDSU/FEDLS), uso único, gasto no caminho e restaurado com seu TTL restante (e o comprovado identidade) em uma falha que não é do membro - nunca após uma ligação errada, um código recusado ou um token forjado. Linking: pesquisa por (emissor, assunto, connection_key); um e-mail existente responde NOT_LINKED e exige prova - senha + o segundo fator da conta, ou um código para o e-mail da CONTA (5 tentativas, 3 envios); LINK de uma sessão iniciada Cada conexão/desconexão envia o e-mail da conta e escreve IDENTITY_LINKED / IDENTITY_UNLINKED. Uma identidade vinculada é entregue à senha downstream do caminho (FederatedSignInCompleter -> portas de conta, regras de host/picker, SignInCompletionService) mais a política da organização (provedor permitido para o público deste membro; MFA exigido mas não inscrito = recusado aqui). Não cobrado para a escada de bloqueio; em vez disso, orçamento de retorno de chamada/link por IP. Os clientes vêm de PlatformOAuthClientResolver para os tipos *_SIGNIN - an org's seu próprio aplicativo apenas em seu próprio domínio verificado - e são oferecidos apenas em config_json.signinStatus ENABLED (CONFIGURED = somente para plataforma org). Nenhum é configurado, então nada visível muda.

Todas as alterações

Como o que você vê o transporte?

Comece com o plano gratuito e leia esta página novamente daqui a um mês, para saber mais sobre o que está disponível para você.

Comece grátis para sempreVer preços