Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

autenticação API

Estou desenvolvendo um dashboard via streamlit que se conecta com uma API que requere uma autenticação básica (usuário e senha), porém, não posso subir o código contendo usuário e senha no meu github, como proceder para o deploy dessa aplicação?

1 resposta
solução!

Olá, Rafael. Tudo bem?

Entendo sua preocupação, é realmente importante manter as credenciais de autenticação seguras. Uma maneira comum de lidar com isso é usando variáveis de ambiente. As variáveis de ambiente são uma maneira de armazenar informações que podem ser usadas por diferentes partes do seu código, sem que essas informações estejam diretamente no seu código.

No seu caso, você pode armazenar o usuário e a senha da API como variáveis de ambiente e, em seguida, no seu código, você pode acessar essas variáveis sem expor as informações reais. Aqui está um exemplo de como você pode fazer isso:

  1. Defina as variáveis de ambiente no seu sistema operacional. No Windows, você pode fazer isso usando o prompt de comando:
set API_USER=seu_usuario
set API_PASSWORD=sua_senha

No Linux ou Mac, você pode usar o terminal:

export API_USER=seu_usuario
export API_PASSWORD=sua_senha
  1. No seu código, você pode acessar essas variáveis de ambiente usando a biblioteca os do Python:
import os

api_user = os.environ.get('API_USER')
api_password = os.environ.get('API_PASSWORD')

Dessa forma, você pode usar api_user e api_password no seu código sem expor as informações reais.

Quando você for fazer o deploy da sua aplicação, você precisará definir essas variáveis de ambiente no servidor onde a aplicação será hospedada. A forma de fazer isso pode variar dependendo de onde você está hospedando a aplicação, mas a maioria dos serviços de hospedagem oferece uma maneira de definir variáveis de ambiente.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software