Lors de la première partie, nous avons mis en place les fondements de la gestion externe de l’authentification, avec Facebook.
Or, pour utiliser l’api Facebook, il nous faut un Id et un clef secrète.
Ne pas stocker en configuration ses informations
Microsoft nous invite à ne pas stocker ce genre d’information dans notre fichier de configuration : il a bien raison.
Nous avons alors deux choix :
- En développement : utiliser soit les variables d’environnement, soit profiter des User Secrets
- En production : utiliser les variables d’environnement
Les User Secrets
Accessible depuis Visual Studio facilement : un clic droit sur le projet, nous permet de choisir l’option : Gérer les données secrètes de l’utilisateur.
Appel des données sensibles dans son code
Pour les appeler, il nous suffit d’appeler la bonne clef, par exemple : Configuration[« Authentication:Facebook:AppId »];
La clef « Authentication:Facebook:AppId » étant mise dans le fichier secrets.json, créé par Visual Studio.
Préciser à .net core l’utilisation des user secrets
Une fois ces deux étapes faites (secrets.json et appel avec Configuration), si vous ne souhaitez pas vous retrouver avec des données vides, vous devrez en plus modifier le Startup.cs.
Vous allez devoir suivre ces deux dernières étapes :
- Ajout de la librairie Microsoft.Extensions.Configuration.UserSecrets
- Redéfinition de l’instanciation de Configuration.
Vous obtenez alors le code suivant :
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile(« appsettings.json »,
optional: false,
reloadOnChange: true)
.AddEnvironmentVariables();
if (env.IsDevelopment())
{
builder.AddUserSecrets<Startup>();
}
Configuration = builder.Build();
}
Vous notez donc trois changements :
- On n’utilise plus le constructeur par défaut, avec la Configuration déjà injectée
- On précise au builder que l’on va utiliser les variables d’environnement
- Enfin, si nous sommes en développement, nous utilisons les User Secrets.
Vous avez essayé de votre côté ? Ca fonctionne bien ? Laissez-nous un com’ !
Prochaine étape : tester que ça fonctionne bien, et aussi gérer les retours de l’api Facebook.