Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Obtenga información sobre cómo crear usuarios de inicio de sesión de aplicaciones web autenticados por AD FS 2019 y adquirir tokens mediante la biblioteca MSAL para llamar a las API web.
Antes de leer este artículo, debe estar familiarizado con los conceptos de AD FS y el flujo de concesión de código de autorización.
Overview
En este flujo se agrega autenticación a la aplicación web (aplicación de servidor) para que pueda iniciar la sesión de los usuarios y llamar a una API web. En la aplicación web, para llamar a la API web, use el método de adquisición de tokens AcquireTokenByAuthorizationCode de MSAL. El flujo de código de autorización se utiliza para almacenar el token adquirido en la memoria caché de tokens. A continuación, el controlador adquiere los tokens de forma silenciosa de la memoria caché cuando es necesario. MSAL actualizará el token si es necesario.
Las aplicaciones web que llaman a API web:
- Son aplicaciones cliente confidenciales.
- registró un secreto (secreto compartido de aplicación, certificado o cuenta de AD) con AD FS. Este secreto se pasa durante la llamada a AD FS para obtener un token.
Para registrar una aplicación web en AD FS y configurarla para adquirir tokens para llamar a una API web, vamos a usar un ejemplo disponible aquí y recorra los pasos de registro de aplicaciones y configuración de código.
Pre-requisites
- Herramientas de cliente de GitHub
- AD FS 2019 o posterior configurado y en ejecución
- Visual Studio 2013 o posterior.
Registro de la aplicación en AD FS
En esta sección se muestra cómo registrar la aplicación web como un cliente confidencial y una API web como usuario de confianza en AD FS.
En Administración de AD FS, haga clic con el botón derecho en Grupos de aplicaciones y seleccione Agregar grupo de aplicaciones.
En el Asistente para grupos de aplicaciones, en Nombre , escriba WebAppToWebApi y, en Client-Server aplicaciones , seleccione la aplicación Servidor que accede a una plantilla de API web . Haga clic en Next.
Copie el valor de Identificador de cliente . El valor se usa más adelante como valor de ida:ClientId en las aplicaciones Web.config archivo. Escriba lo siguiente en URI de redirección: - https://localhost:44326. Haga clic en Agregar. Haga clic en Next.
En la pantalla Configure las credenciales de la aplicación, active la casilla Generar un secreto compartido y copie el secreto. Este secreto se usa más adelante como el valor de ida:ClientSecret en las aplicaciones Web.config archivo. Haga clic en Next.
En la pantalla Configurar API web, escriba el identificador:https://webapi. Haga clic en Agregar. Haga clic en Next. Este valor se usa más adelante para ida:GraphResourceId en las aplicaciones Web.config archivo.
En la pantalla Aplicar directiva de control de acceso, seleccione Permitir a todos y haga clic en Siguiente.
En la pantalla Configurar permisos de aplicación, asegúrese de que openid y user_impersonation están seleccionados y haga clic en Siguiente.
En la pantalla Resumen, haga clic en Siguiente.
En la pantalla Completar, haga clic en Cerrar.
Configuración de código
En esta sección se muestra cómo configurar una aplicación web de ASP.NET para iniciar la sesión del usuario y recuperar el token para llamar a la API web.
Descargar el ejemplo desde aquí
Abra el ejemplo mediante Visual Studio.
Abra el archivo web.config. Modifique lo siguiente:
ida:ClientId: escriba el valor identificador de cliente de #3 en la sección Registro de aplicaciones en AD FS.ida:ClientSecret: escriba el valor secreto de #4 en la sección Registro de aplicaciones en AD FS.ida:RedirectUri: escriba el valor URI de redirección de #3 en la sección Registro de aplicaciones en AD FS.ida:Authority: introduzca https://[su nombre de host de AD FS]/adfs. Por ejemplo,https://adfs.contoso.com/adfsida:Resource: escriba el valor identificador de #5 en registro de aplicaciones en la sección AD FS.
Pruebe el ejemplo
En esta sección se muestra cómo probar el ejemplo configurado.
Una vez que haya realizado los cambios en el código, recompile la solución.
En la parte superior de Visual Studio, asegúrese de que Internet Explorer está seleccionado y haga clic en la flecha verde.
En la página principal, haga clic en Iniciar sesión.
Se le redirigirá a la página de inicio de sesión de AD FS. Continúe e inicie sesión.
Una vez que haya iniciado sesión, haga clic en Token de acceso.
Al hacer clic en Token de acceso, se obtiene la información del token de acceso llamando a la API web.
Pasos siguientes
Flujos de AD FS OpenID Connect/OAuth y escenarios de aplicación