0

J'ai actuellement une application intranet ASP.Net Core et Ionic (Angular) 1.x pour mon organisation qui authentifie l'utilisateur à l'aide d'Active Directory (NTLM/Kerberos), et les signe en utilisant Identity après une redirection d'échec d'autorisation. Maintenant, avec ASP.Net Core 2, je souhaite passer d'Active Directory sur site à Azure Active Directory afin de pouvoir ouvrir la porte à des choses plus intéressantes, telles que le fait que le personnel puisse se connecter en externe à l'aide d'Azure AD. Application proxy. Je veux toujours être en mesure de persister quelques informations sur les utilisateurs, un peu comme l'identité laissez-moi faire. Actuellement, dans mes expérimentations, j'utilise ADAL.js (Active Directory Authentication Library) pour authentifier mon utilisateur, car j'ai désactivé l'authentification Windows.Authentification sur site/Azure AD sur site pour ASP.NET Core

Cela fonctionne très bien et je reçois un jeton indiquant qui est cette personne, et je peux accéder à [Authorize] points de terminaison API restreint. Comment, cependant, transformer ce jeton en une session sur mon API Web dans laquelle je peux signer un utilisateur et conserver des informations à leur sujet?

EDIT: une chose que je pourrais faire est de générer mon jeton, mais au lieu d'utiliser AzureAdBearer pour l'authentification, j'utilise l'authentification par cookie, puis sur le serveur valider le jeton, et si elle est valide régler manuellement l'utilisateur à authentifier par HttpContext.SignInAsync?

Répondre

2

Il ne doit pas transformer le jeton en session car l'API Web est RESTful.

Et vous pouvez obtenir les informations d'identité à l'aide de la propriété User dans le contrôleur pour acquérir les informations d'authentification de l'application Web Asp.net Core 2.0.