Je suis en train de migrer une ancienne application vers ASP.NET core/MVC. Cette application utilise certains middlewares OWIN pour gérer l'authentification.
Les middlewares fonctionnent parfaitement lorsqu'ils sont enregistrés en utilisant "UseOwinAppBuilder", cependant, dans certaines parties de l'application, j'ai besoin d'obtenir le "contexte Owin" pour pouvoir travailler avec l'authentification. Le "vieil" code fait quelque chose comme:
var context = Request.GetOwinContext();
var authentication = context.Authentication.AuthenticateAsync("AuthScheme");
Je sais qu'en ASP.NET core je peux gérer l'authentification en utilisant HttpContext.Authentication.AuthenticateAsync
, mais si je remplace la ligne précédente par
var authentication = HttpContext.Authenticaiton.AuthenticateAsync("AuthScheme");
Je reçois une erreur:
"Aucun gestionnaire d'authentification n'est configuré pour authentifier le schéma : AuthScheme"
Je soupçonne que l'erreur se produit parce que les middlewares d'authentification ont été enregistrés en utilisant OWIN et non dans ASP.NET Core.
Je sais qu'il existe certains objets qui permettent de créer un "OwinEnvironment" et d'accéder à une "OwinFeatureCollection", mais je ne suis pas sûr que ce soit la manière d'accéder au "vieil" contexte Owin (et je ne trouve pas de documentation détaillée sur le fonctionnement de ces objets).
En résumé : y a-t-il un moyen d'accéder au "vieil" contexte Owin dans ASP.NET Core afin de gérer l'authentification avec les middlewares enregistrés ?