¿Cómo se implementa un proyecto público de Github que contiene keys secretas de API para Azure?

Tengo un proyecto que planeo abrir-fuente en algún momento. Actualmente mantengo todas mis keys API en una class que no está registrada: acabo de vincular el proyecto a Azure pero la class de key API no está presente hace que la implementación falle.

¿Cómo puedo ocultar las keys secretas de API en un proyecto público y aún tener que implementarlo en Azure?

He leído bastantes publicaciones ( esta por ejemplo) pero no puedo encontrar una solución que me permita hacer lo que quiero. ¿Alguien sabe qué debo hacer aquí? ¿Es posible?

Para una aplicación web de Azure, puede especificar valores de configuration en la pestaña Configurar en el portal (en "configuration de la aplicación"). Esto anulará los valores especificados en su file Web.config .

Esto significa que puede dejar esta configuration fuera de su depósito público.

Para desarrollar localmente, puede poner la configuration en un file XML por separado. Para hacer esto, actualice la appSettings la appSettings en su Web.config así:

 <appSettings file="mysettings.xml" /> 

Luego crea mysettings.xml y coloca tu configuration actual en un nuevo elemento <appSettings> allí.

A continuación, puede agregar mysettings.xml a su file .gitignore para que no se .gitignore en su depósito público.

A Azure no le molesta que su file mysettings.xml no exista y, en su lugar, recuperará la configuration que especifique en el portal.