microsoft management active c# authentication azure oauth-2.0 azure-active-directory

c# - management - panel azure login



¿Cómo autenticar al usuario con Azure Active Directory utilizando OAuth 2.0? (2)

Tengo una API REST escrita en C # y necesito autenticarme con un servicio Azure AD existente. Actualmente tengo el nombre de usuario y la contraseña del usuario que desea autenticarse. Necesito autenticarme con Azure AD y recibir un token de acceso del servidor.

¿Puede alguien señalarme algunos artículos / tutoriales que explican cómo hacer esto?


Debe evitar manejar las credenciales de los usuarios. Existen serias implicaciones de seguridad al recopilar credenciales de usuarios que se mitigan mediante el uso de OAuth 2.0 o OpenID Connect para obtener un token sin manejar las credenciales directamente. Además, si tiene su propia UI de recopilación de credenciales, es posible que en el futuro falle el inicio de sesión si la autenticación de múltiples factores está activada. En ese caso, puede ser necesaria más información para autenticar al usuario de lo que está recopilando, una contraseña de un solo uso, por ejemplo. Si permite que Azure AD presente la experiencia de autenticación a través de OAuth 2.0 o OpenID Connect, entonces está aislado del método de autenticación específico que se está empleando. Recopilar los usuarios de las credenciales de Azure AD es una mala práctica que debe evitarse si es posible.

No tengo suficientes detalles sobre el escenario exacto para estar seguro de que se aplica la siguiente muestra, pero al menos proporcionará un buen punto de partida. Este ejemplo muestra cómo crear una aplicación nativa que llame a una API REST que luego puede llamar a un recurso de Azure de la manera más segura posible.

https://github.com/AzureADSamples/WebAPI-OnBehalfOf-DotNet

Puede encontrar muchas otras muestras aquí que pueden usarse para construir una solución para su escenario particular.

https://github.com/AzureADSamples

Si proporciona más detalles, puedo dar una orientación más específica.