Executando verificação de segurança...
1

Desenvolvedor Frontend precisando de ajuda com seu primeiro Backend!

Sou desenvolvedor a 15 anos, sendo os últimos 6 anos especializado somente em tecnologias frontend. A última vez que mexi de verdade com backend foi a mais de 1 década com PHP, estou super desatualizado das novas tecnologias.

Recentemente, o mais moderno que desenvolvi, foi um Node.js com Typescript no Firebase Functions para tarefas simples e específicas. Em todos meus empregos, apenas consumia as APIs desenvolvidas por outros da equipe.

Agora estou desenvolvendo meu próprio produto, que envolve consumo de APIs de IAs percebi que preciso proteger minha API KEY através de um servidor que autentica com meu front. A questão é, que caminhos seguir? São tantas boas opções.

As APIs como da Open Ai parecem ter um bom suporte para Python, vejo muita gente utilizando em Python, os próprios exemplos da documentação são em Python. Também é fácil fazer o consumo através de REST APIs com Swagger? Autenticação com Front utilizando Firebase Auth que já utilizamos? Quais outras boas opções?

Agradeço a todos

Carregando publicação patrocinada...
3

Agora estou desenvolvendo meu próprio produto, que envolve consumo de APIs de IAs percebi que preciso proteger minha API KEY através de um servidor que autentica com meu front. A questão é, que caminhos seguir? São tantas boas opções.

O ideal é escolher algo que você já tem alguma familiaridade. Mas respondendo a pergunta de "como proteger minha API key": supondo que você vai usar um framework para desenvolver seu backend, seja Node, Laravel, Django, etc., você SEMPRE vai colocar suas chaves de API em um arquivo que armaneza as variáveis de ambiente.

Por exemplo, no Laravel existe um arquivo chamado .env. Nesse arquivo existem muitas variáveis que determinam o comportamento do ambiente que a aplicação está rodando (local/produção). É comum e considerado boa prática você armazenar chaves de API nesse arquivo, pois ele não é acessível pelos usuários e não deve ser acessado diretamente pela URL.

Uma outra recomendação, e na verdade está mais para uma regra: nunca, em hipótese alguma, armazene suas chaves de API em um arquivo que será enviado ao repositório onde o seu código será hospedado (GitHub, etc.). A quantidade de chaves de API que vazam na web por causa dessa prática é inacreditável.

Happy codding!

1

Oi, obrigado pelo comentário. Eu tenho familiaridade com muitas linguagens, PHP eu mexi a 1 década e nunca utilizei frameworks como Laravel. Mas javavascript, typescript e python eu tô sempre brincando pra algum projeto pessoal.

Meu interesse pelo Python era mais pra manter uma única base de código tendo em vista que utilizaria os pacotes oficiais pra consumir as IAs ao invés de ficar fazendo requisição. Só que não sei como é o cenário do Python para as outras coisas, como API REST com Swagger e autenticação. Eu sei que PHP/Javascript/Typescript são bem bons nisso.

Sim, pode deixar que vou armazenar em um .env. Muito obrigado pelo comentário

2

Um opção simples, rápida e muito boa é com Laravel (PHP). Utilize Laravel Sanctum para fazer a autenticação da sua API por Bearer Token. O Laravel tem o artisan no terminal que te agiliza muito, é fácil de fazer requisição http etc.

1

Oi, obrigado pelo comentário. Eu tô a 10 anos desatualizado com PHP e nunca utilizei laravel. Acima eu fiz um comentário sobre isso. Muito obrigado

1