Comencé un nuevo proyecto de .net core y lo configuré para usar Google+ Api para la autenticación. Mi Id. de cliente y mi secreto se almacenan mediante dotnet user-secrets. Cuando construyo mi imagen acoplable obtengo
Unhandled Exception: System.ArgumentException: The 'ClientId' option must be provided.Sé que esto se debe a que mis secretos no se transmiten a la imagen. Lo que quiero saber es cómo puedo proporcionar mi ID y mi clave secreta sin enviarlos al repositorio y seguir ejecutando mi imagen localmente.
Estaba pensando que cuando lo implemente en el servidor puedo tenerlos como parte de las variables Env, supongo que también podría hacerlo localmente, solo me preguntaba si alguien más tiene una solución para esto que pueda ser más elegante que la mía.
Simplemente no puedo encontrar mucha información sobre cómo otros están haciendo esto.
Para Agregar Autenticación de Google+ puedes ver esta guía .
Agregue este fragmento en startup.cs
services.AddAuthentication().AddGoogle(googleOptions => { googleOptions.ClientId = Configuration["Authentication:Google:ClientId"]; googleOptions.ClientSecret = Configuration["Authentication:Google:ClientSecret"]; });Agregue esta línea en appsettings.json
"Authentication": { "Google": { "ClientId": "ID FROM GOOGLE API", "ClientSecret": "SECRET FROM GOOGLE API" }En primer lugar, los secretos no son lo que debe usar para la implementación. Los secretos existen para el almacenamiento seguro durante el desarrollo al ayudar a evitar que los datos confidenciales se almacenen en el código o se registren en el control de código fuente. Ver pregunta relacionada ¿Cómo funcionan los UserSecrets en la Nube?
Y tiene razón, debería usar Variables de entorno para, en su lugar, o como alternativa, algunas configuraciones externas de almacenamiento como DB.