En el PoC (Prueba de concepto) que estoy desarrollando actualmente, los datos de una API se consumen y se requiere OAuth 2.0 para la autenticación. La aplicación ya está funcionando como se esperaba, los usuarios pueden acceder a los datos desde la API utilizando OAuth.
Mi preocupación es cómo almacenar correctamente el propio client_id y client_secret de la aplicación. La aplicación está construida con Python 3 + Flask. Actualmente hay un archivo JSON en el servidor que almacena las credenciales en texto sin formato:
tokens.json
{
"CLIENT_SECRET": "<value>",
"CLIENT_ID": "<value>"
}
Hay un método que lee el archivo JSON durante el tiempo de ejecución y almacena los tokens en las variables:
# Get OAuth 2.0 tokens from JSON file
with open('tokens.json', encoding='utf-8') as tokens_file:
oauth_tokens_from_json = json.loads(tokens_file.read())
client_token = oauth_tokens_from_json["CLIENT_SECRET"]
client_id = oauth_tokens_from_json["CLIENT_ID"]
Estoy bastante seguro de que esta no es la forma correcta de hacerlo, y no pude encontrar ninguna información específica para un escenario similar.