Skip to content

Autorização e consentimento ​

As duas sequências abaixo mostram a plataforma nos dois lados do ecossistema: como transmissora, recebendo pedidos de outros participantes, e como receptora, coletando dados de outras instituições com o consentimento do cliente. Em ambas, toda chamada entre participantes usa mTLS com certificados ICP-Brasil e o perfil de segurança FAPI-BR.

Como transmissora ​

Autorização como transmissoraRegistro dinâmico, consentimento, PAR, autorização do cliente, troca do código por token e acesso aos dados.Cliente finalnavegadorReceptoraoutro participanteFinnest PowerAPIs e camada FAPIKeycloakservidor de autorizaçãoRegistro do cliente (uma vez)1. DCR com o SSA do Diretório2. registra o clienteConsentimento e autorização3. cria o consentimento4. envia o PAR assinado (PS256)5. valida e encaminha o PAR6. redireciona o cliente7. autentica e aprova8. código de autorização9. troca o código (mTLS + PKCE)10. encaminha a troca11. token vinculado ao certificadoAcesso aos dados12. chama a API com o token13. valida token, certificado e consentimento14. dados autorizados
  1. Registro do cliente. A receptora se registra por DCR, apresentando o SSA emitido pelo Diretório. A plataforma valida o SSA e o certificado e registra o cliente no Keycloak, vinculado ao certificado apresentado.
  2. Consentimento. A receptora cria o consentimento, que nasce aguardando autorização.
  3. PAR. A receptora envia os parâmetros da autorização assinados em PS256. A camada FAPI confere a assinatura e se o certificado é o mesmo do registro antes de encaminhar ao Keycloak.
  4. Autorização do cliente. O cliente é redirecionado, se autentica e aprova o consentimento no servidor de autorização da instituição.
  5. Token. A receptora troca o código por um token com PKCE e mTLS. O token fica vinculado ao certificado dela, e o ID token vai criptografado.
  6. Acesso aos dados. A cada chamada, a plataforma valida o token, confere o certificado com o vínculo do token e verifica o consentimento. O consentimento passa a autorizado na primeira chamada feita com um token obtido pelo cliente.

Como receptora ​

Coleta de dados como receptoraDescoberta no Diretório, registro dinâmico, consentimento, autorização do cliente, callback, token e sincronização dos dados.Cliente finalnavegadorFinnest PowerreceptoraDiretóriode ParticipantesTransmissoraoutro participante1. escolhe a instituição de origem2. consulta servidor de autorização e SSA3. DCR com mTLS4. cria o consentimento e envia o PAR5. redireciona o cliente6. autentica e aprova7. callback com o código8. troca o código (mTLS + PKCE)9. guarda o token criptografado10. busca os dados autorizados11. sincroniza no PostgreSQL
  1. O cliente escolhe a instituição de origem dos dados.
  2. A plataforma consulta no Diretório de Participantes o servidor de autorização da instituição e obtém o SSA do seu próprio software.
  3. A plataforma se registra por DCR na instituição de origem, cria o consentimento e envia o PAR.
  4. O cliente é redirecionado, se autentica na instituição de origem e aprova o compartilhamento.
  5. A plataforma recebe o código no callback, verifica a resposta conforme o perfil FAPI e troca o código por um token com PKCE e mTLS.
  6. O token é guardado criptografado (AES-256-GCM), e os dados autorizados são buscados e sincronizados no PostgreSQL da instituição.

Finnest Power — plataforma Open Finance Brasil e Open Insurance Brasil. Contato: oi@finnest.com.br