J'ai un service qui va envoyer des messages à mon point final. Mais je dois valider ces messages en vérifiant si l'en-tête HTTP est composé d'une clé d'API fixe (pour une période) et d'une pièce d'identité. Je peux le faire en vérifiant l'en-tête mais je ne pense pas que ce soit une bonne pratique. Quiconque est un indice sur la façon de vérifier que le message envoie du service? p>
J'ai trouvé quelque chose mais c'est pour Core2.2 et j'ai besoin d'utiliser 2.1 ... ( https://github.com/mihirdilip/aspnetcore-authentication-apikeey ) p>
Merci d'avance p>
3 Réponses :
Si vous avez assez de points d'extrémité, peut-être même plusieurs contrôleurs que je suggérerais d'écrire un middleware pour gérer cela.
Mais si ce chèque Apikey n'est nécessaire qu'à un point final. Depuis que vous avez dit "mon point final". Je recommanderais simplement de vérifier la valeur de l'en-tête dans l'action de contrôleur / point final p>
exemple: p>
Comme je l'ai dit, je veux faire cela via le middleware et non à la fin du pipeline HTTP. En attendant, j'ai compris une solution, c'est simple, mais cela fonctionne.
J'ai créé une classe appelée MiddelwarekeyValidation avec la méthode Async suivante: P>
app.UseMiddleware<MiddelWareKeyValidation>();
Vous pouvez écrire votre propre middleware: Stackoverflow.com/questions/ 45798325 / Net-Core-Web-API-Key