1
resposta

[Dúvida] A key do omdb deveria não estar publica?

Uma coisa que acabei notando nessa aula, quando as professoras começaram a instruir a colocar o projeto no Github. No curso que foi ensinado a usar a API do omdb, e como fazer a requisição de sua chave, lá deixava bem explicito que a nossa key individual não deveria ser compartilhada ou mostrada para outras pessoas, acredito que por uma questão de segurança.

e quando as professoras colocaram o projeto no Github de forma pública, e a key da API estava no código sem nenhum tratamento, basicamente estou expondo a minha key a qualquer pessoa, o que pelo que foi ensinado, não deveria.

Eu até verifiquei no vídeo e conteúdo seguinte para ver se seria falado algo sobre isso, mas não apareceu nada.

Então tanto quanto uma forma de avisar sobre isso, eu também gostaria de tirar essa dúvida, como tratar para que minha key não fique exposta no meu repositório no Github, mas ao mesmo tempo o projeto continue funcionando?

1 resposta

Oi, Christian! Tudo bem?

Realmente devemos nos preocupar com a segurança ao expor a nossa chave de API (key) em um repositório público no GitHub, parabéns pela percepção! É uma prática recomendada nunca compartilhar nossas chaves de API publicamente, pois elas podem ser usadas indevidamente por outras pessoas, resultando em possíveis problemas de segurança e até custos adicionais, dependendo do serviço.

Para evitar expor nossa chave de API, podemos seguir algumas abordagens comuns:

Costumamos criar um arquivo .env onde podemos armazenar variáveis de configuração que não devem ser expostas publicamente, como as nossas chaves de API, o que podemos da seguinte forma:

  1. Criar variáveis de ambiente. Nesse processo podemos seguir o passo a passo desse artigo: https://www.alura.com.br/artigos/configurar-variaveis-ambiente-windows-linux-macos

  2. Criar um arquivo .env na pasta raiz do nosso projeto: Este arquivo conterá nossas variáveis de ambiente, por exemplo:

    API_KEY=sua_api_key_aqui
    
  3. Adicionar o arquivo .env ao nosso .gitignore: Isso evitará que o arquivo .env seja rastreado e enviado ao GitHub, basta adicionarmos a linha .env ao arquivo .gitignore no projeto.

  4. Ler o arquivo .env no nosso código Java: Podemos usar uma biblioteca como dotenv-java para carregar as variáveis de ambiente do arquivo .env. Primeiro, adicionamos a dependência ao nosso projeto. Se estivermos usando Maven, devemos adicionar isso ao nosso pom.xml:

    <dependency>
        <groupId>io.github.cdimascio</groupId>
        <artifactId>dotenv-java</artifactId>
        <version>5.2.2</version>
    </dependency>
    

    Em seguida, no nosso código, podemos carregar e usar a API Key da seguinte maneira:

    import io.github.cdimascio.dotenv.Dotenv;
    
    public class Main {
        public static void main(String[] args) {
            Dotenv dotenv = Dotenv.load();
            String apiKey = dotenv.get("API_KEY");
            System.out.println("Minha API Key é: " + apiKey);
            // Use a apiKey para fazer chamadas à API
        }
    }
    

Assim, conseguimos manter a API Key segura e fora do GitHub!

Espero ter ajudado!

Um forte abraço e bons estudos!