Melhor forma de deploy em cloud
Closed this issue · 5 comments
Olá pessoal, tudo bem? Alguém aqui já faz deploy em cloud? To quebrando a cabeça para fazer a p12 funcionar na Azure
Tentei pelo Key Vault deles, mas só aceitam PRM ou CER, e ai teria que fazer conversão...
To pensando em transformar em base64 e colocar hard-coded mesmo e ler pelo serverless. Será que funciona? Aceito sugestões 👍
Caso achem mais prático por outra cloud, pode ser também
Funciona! transforma do base64 para o .p12 de volta quando for usar dentro da aplicação
Boa! Vou tentar aqui Pedro, obrigado pela direção
Se você quiser evitar a criação do arquivo é possível manter tudo em memória extendendo o HttpClient.
algo como:
from pynubank import HttpClient, nubank
class MemoryCertHttp(HttpClient):
def _cert_args(self):
return {'pkcs12_data': self._cert, 'pkcs12_password': ''} if self._cert else {}
nu = Nubank(MemoryCertHttp())
nu.authenticate_with_cert('cpf', 'password', 'cert_data')
Onde 'cert_data' seria o certificado.
Dessa forma vc evita de deixar o certificado por aí
Eu estava vendo exatamente isso na biblioteca de requests que você usa (https://pypi.org/project/requests-pkcs12/)
Existe um método lá especifico de requisição baseado no p12 que tem como argumento o binário ao invés do path
- Igual você mandou ai em cima
Depois com mais calma vou tentar fazer um pull request para habilitarmos esse método nativo pro pessoal. Acredito que muitos aqui usam sua lib para automação e similares (RIP GuiaBolso). Isso encaixa bem para jogarmos em cloud
Obrigado pela ajuda pessoal! 💯
Acho uma boa, assim fica mais simples.
Na época que implementei não lembro de ter visto esse pkcs12_data
😅 mas podemos manter os dois para retrocompatibilidade.