Histórico de mensagens sobre callback

EXIBINDO CONVERSAS RECENTES:

Texto: callback
# sugestões
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se o callback for bastante simplificado, acho que nem precisaria de contrato específico. Se ligar o callback padrão, mTLS full. Se ligar o callback light, não. Mas sim é mais seguro combinar com os russos... digo, com o BACEN, antes.

# sugestões
Avatar discord do usuario francisco.carvalho

francisco.carvalho

Agora, vale sim uma flexibilização desse callback num v3. Certamente levaremos isso ao BC.

# sugestões
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

É que a discussão começou na checagem do teste e foi para o mTLS dos callbacks...

# sugestões
Avatar discord do usuario francisco.carvalho

francisco.carvalho

Ver Respostas

No caso do callback, espera-se que o cliente valide o certificado: seja na camada de transporte ou aplicação. É isso que a gente quer permitir: deixar o cliente escolher. Entendemos que a validação do PUT está impedindo isso, ou pelo menos atrapalhando na fluidez.

# sugestões
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, mas o ponto era tirar mTLS dos callbacks... aí que ultrapassa o regramento.

# sugestões
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

talvez com um contrato específico, como você falou antes + a retirada de informações do callback (deixar só chave + txid se houver), aí o EC teria que consultar a API, creio que seja possível o BACEN aprovar

# sugestões
Avatar discord do usuario anoni_mato

anoni_mato

Se o callback retornar qualquer coisa diferente de status 200, considera falha e faz retentativas?

# sugestões
Avatar discord do usuario anoni_mato

anoni_mato

a questão do cliente precisar ter mTLS é relativamente fácil de contornar. eu poderia oferecer um serviço que recebe o callback com mTLS e repassa pro EC sem essa exigência, por exemplo 😝

# sugestões
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

acho que faz sentido. se for uma renúncia do cliente, a GN nao está deixando de cumprir com a determinação de segurança do BACEN. levem ao Bacen pra ver no que dá.

mas até que o Bacen confirme isso, eu vejo essa possibilidade de bypass (seja no PUT ou no próprio callback) como uma mera facilitação do processo de cadastro do webhook (útil principalmente quando tem um terceiro no processo, além da GN e o EC). não vejo utilidade prática nenhuma enquanto o Bacen exige mTLS nos callbacks

# sugestões
Avatar discord do usuario francisco.carvalho

francisco.carvalho

Ver Respostas

Agora, o ideal mesmo seria o BC flexibilizar o mTLS no callback. Usufrui dessa segurança quem quiser. E aí vejo que entraria perfeitamente no gn/config (caso não haja endpoint específico da spec pra isso)...

# sugestões
Avatar discord do usuario francisco.carvalho

francisco.carvalho

Deixe-me explicar melhor. Precisamos, de qualquer forma, flexibilizar o PUT. Não queremos remover funcionalidade dele, simplesmente permitir o bypass.

Poderíamos tirar do PUT e levar para o callback? Sim, porém enxergamos como ponto negativo remover uma feature dele (mesmo que seja aplicada em outro ponto).
Isso não impede que iniciemos outra discussão: melhorias no callback.

# sugestões
Avatar discord do usuario francisco.carvalho

francisco.carvalho

Ver Respostas

Sim, entendi o seu ponto. A questão é mexer o menos possível no PUT, nesse momento. Sem remover funcionalidades dele, mas dando uma flexibilizada. Certamente voltaremos a falar do callback.

# sugestões
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

bom, é útil em qualquer um dos dois jeitos. só não entendi o argumento pra ser favorável a ser no PUT e nao no callback.

o argumento a favor de ser no callback é já ficar preparado pra eventual liberação da necessidade do mTLS por parte do BACEN.

outro argumento é permitir que clientes que vão receber callback usando APIs operadas por terceiros (como ERP SaaS) possam adicionar o header quando bem entenderem, sem depender de mudança na API que manda o PUT

# sugestões
Avatar discord do usuario francisco.carvalho

francisco.carvalho

Desativar de vez somente no callback.

# sugestões
Avatar discord do usuario francisco.carvalho

francisco.carvalho

Ver Respostas

No caso de implementar no ato do callback, eu tô pensando mesmo é em deixar o integrador desativar de vez, se assim permitir a spec.

# sugestões
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

e o integrador tb pode "só enviar um header e pronto" na hora que recebe o callback, da mesma forma.. qual a dificuldade?

# sugestões
Avatar discord do usuario anoni_mato

anoni_mato

e se o BACEN resolver tornar o mTLS opcional (vai que....) o lado que recebe o callback vai poder dar o bypass de forma mais fácil do que alterando o script que consome a API

# sugestões
Avatar discord do usuario anoni_mato

anoni_mato

ou seja, o header seria enviado pelo script que RECEBE o callback e não pelo script que consume o PUT /webhook

# sugestões
Avatar discord do usuario anoni_mato

anoni_mato

hoje:
- GN envia "callback" simulado sem certificado (se for aceito pelo integrador, é uma falha; dá "break" aqui)
- GN envia "callback" simulado com certificado (que deve retornar 200)

poderia ficar assim:
- GN envia "callback" simuilado sem certificado:
--> se receber de volta 200 + um header x-mtls-bypass: true, tá ok e dá break;
--> se receber de volta 200 sem o header, é falha e dá break;
--> se receber de volta 4xx, segue adiante
- GN envia "callback" simulado com certificado (que deve retornar 200)

# sugestões
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

a proposta da GN é passar o header x-mtls-check: false na hora de fazer o PUT /webhook. esse header poderia ser enviado pelo servidor/script que recebe os callbacks