Esta documentación está archivada y no tiene mantenimiento.

Procedimiento: Crear mi primera aplicación ASP.NET compatible con notificaciones mediante ACS

Publicada: abril de 2011

Actualizado: junio de 2015

Se aplica a: Azure

ImportantImportante
Los espacios de nombres ACS pueden migrar sus configuraciones de proveedor de identidades de Google de OpenID 2.0 a OpenID Connect. La migración se debe completar antes del 1 de junio de 2015. Para ver instrucciones detalladas, consulte Migración de espacios de nombres ACS a OpenID Connect de Google. Mientras no realice la migración, este tutorial se puede completar usando otro proveedor de identidades, como Facebook.

  • Active Directory Access Control de Microsoft Azure (también conocido como Access Control Service o ACS)

En este tema se describe el escenario de integrar ACS con una aplicación de usuario de confianza de ASP.NET. Al integrar su aplicación web con ACS, debe tener en cuenta las características de autenticación y autorización en el código. En otras palabras, ACS ofrece los mecanismos para autenticar y autorizar usuarios en su aplicación web.

En este escenario de práctica, ACS autentica usuarios con una identidad de Google en una aplicación de usuario de confianza de ASP.NET de prueba.

Para obtener instrucciones detalladas acerca de cómo crear un Espacio de nombres Access Control, vea Procedimiento: Creación de un espacio de nombres de Access Control.

El Portal de administración de ACS le permite configurar su Espacio de nombres Access Control mediante la adición de proveedores de identidades, la configuración de aplicaciones de usuarios de confianza, la definición de reglas y grupos de reglas, y el establecimiento de credenciales en las que confíe su aplicación de usuario de confianza.

  1. Vaya al Portal de administración de Microsoft Azure (https://manage.WindowsAzure.com), inicie sesión y haga clic en Active Directory. (Sugerencia para solución de problemas: falta el elemento "Active Directory" o no está disponible)

  2. Para administrar el espacio de nombres Access Control, seleccione el espacio de nombres y, a continuación, haga clic en Administrar. (O haga clic en espacios de nombres Access Control, seleccione el espacio de nombres y, a continuación, haga clic en Administrar.)

En esta sección se describe cómo agregar proveedores de identidades para usarlos con la aplicación de usuario de confianza para autenticación. Para obtener más información acerca de los proveedores de identidades, vea Proveedores de identidad.

  1. En el Portal de administración de ACS, haga clic en Proveedores de identidades en el árbol a la izquierda o haga clic en el vínculo Proveedores de identidades bajo la sección Introducción.

  2. En la página Proveedores de identidades, haga clic en Agregar, seleccione Google como proveedor de identidades y luego haga clic en Siguiente.

  3. La página Agregar proveedor de identidades Google le pide que escriba el texto del vínculo de inicio de sesión (el valor predeterminado es Google) y la dirección URL de la imagen. Esta URL apunta a un archivo de una imagen que se puede usar como vínculo de inicio de sesión en este proveedor de identidades. De manera opcional, puede modificar estos campos. Para este ejercicio, no los cambie, haga clic en Guardar.

En esta sección se describe cómo agregar y configurar una aplicación de usuario de confianza. Para obtener más información sobre las aplicaciones de usuario de confianza, vea Aplicaciones de usuario de confianza.

  1. En el Portal de administración de ACS, haga clic en Aplicaciones de usuario de confianza en el árbol a la izquierda o haga clic en el vínculo Aplicaciones de usuario de confianza bajo la sección Introducción.

  2. En la página Aplicaciones de usuario de confianza, haga clic en Agregar.

  3. En la página Agregar aplicación de usuario de confianza, haga lo siguiente:

    • En Nombre, escriba el nombre de la aplicación de usuario de confianza. Para este ejercicio, escriba TestApp.

    • En Modo, seleccione Escribir configuración manualmente.

    • En Dominio kerberos, escriba el URI al que se aplica el token de seguridad emitido por ACS. Para este ejercicio, escriba http://localhost:7777/.

    • En Dirección URL de retorno, escriba la dirección URL a la que ACS devuelve el token de seguridad. Para este ejercicio, escriba http://localhost:7777/.

    • En URL del error (opcional), escriba la dirección URL en la que ACS puede publicar si se produce un error durante el inicio de sesión. Para este ejercicio, deje este campo en blanco.

    • En Formato de token, seleccione un formato de token para que ACS lo use al emitir tokens de seguridad a esta aplicación de usuario de confianza. Para este ejercicio, seleccione SAML 2.0. Para obtener más información acerca de los tokens y los formatos de los tokens, vea Formatos de token admitidos en ACS y “Formato de token” en Aplicaciones de usuario de confianza.

    • En Directiva de cifrado de token, seleccione una directiva de cifrado para los tokens emitidos por ACS para esta aplicación de usuario de confianza. Para este ejercicio, acepte el valor predeterminado Ninguno. Para obtener más información acerca de la directiva de cifrado de tokens, vea “Directiva de cifrado de tokens” en Aplicaciones de usuario de confianza.

    • En Vigencia del token (s), especifique la cantidad de tiempo que será válido el token de seguridad emitido por ACS. Para este ejercicio, acepte el valor predeterminado 600. Para más información, vea “Vigencia del token” Aplicaciones de usuario de confianza.

    • En Proveedores de identidades, selecciona los proveedores de identidades que se deben usar con esta aplicación de usuario de confianza. Para este ejercicio, acepte los valores predeterminados marcados (Google y Windows Live ID).

    • En Grupos de reglas, seleccione los grupos de reglas que va a usar esta aplicación de usuario de confianza al procesar notificaciones. Para este ejercicio, acepte Crear nuevo grupo de reglas, que está marcada de forma predeterminada. Para más información acerca de los grupos de reglas, vea Grupos de reglas y reglas.

    • En la sección Configuración de firma de token, seleccione si quiere firmar los tokens SAML con el certificado para el Espacio de nombres Access Control o con un certificado personalizado específico para esta aplicación. Para este ejercicio, acepte el valor predeterminado Usar certificado de espacio de nombres de servicio (estándar). Para más información sobre la firma de los tokens, vea “Firma de tokens” en Aplicaciones de usuario de confianza.

  4. Haga clic en Guardar.

En esta sección se describe cómo definir las reglas que determinan cómo se pasan las notificaciones desde los proveedores de identidades hacia su aplicación de usuario de confianza. Para obtener más información acerca de las reglas y los grupos de reglas, vea Grupos de reglas y reglas.

  1. En la página de inicio del Portal de administración de ACS, haga clic en Grupos de reglas en el árbol de la izquierda o haga clic en el vínculo Grupos de reglas en la sección Introducción.

  2. En la página Grupos de reglas, haga clic en Grupo de reglas predeterminado para TestApp (dado que asignó el nombre TestApp a su aplicación de usuario de confianza).

  3. En la página Editar grupo de reglas, haga clic en Generar.

  4. En la página Generar reglas: Grupo de reglas predeterminado para TestApp, acepte los proveedores de identidades seleccionados de forma predeterminada (en este ejercicio, Google y Windows Live ID) y luego haga clic en el botón Generar.

  5. En la página Editar grupo de reglas, haga clic en Guardar.

Encontrará toda la información y el código necesarios para modificar la aplicación de usuario de confianza para que funcione con ACS en la página Integración de aplicaciones del Portal de administración de ACS.

  • En la página de inicio del Portal de administración de ACS, haga clic en Integración de aplicaciones en el árbol de la izquierda o haga clic en el vínculo Integración de aplicaciones en la sección Introducción.

    Los URI de ACS que aparecen en la página Integración de aplicaciones son exclusivos de su Espacio de nombres Access Control.

    Para este ejercicio, se recomienda mantener esta página abierta para completar el resto de los pasos rápidamente.

En esta sección se describe cómo crear una aplicación de usuario de confianza de ASP.NET que quiera integrar más adelante con ACS.

  1. Para ejecutar Visual Studio 2010, haga clic en Inicio, haga clic en Ejecutar, escriba el texto siguiente y luego presione Entrar:
    devenv.exe

  2. En Visual Studio, haga clic en Archivo y luego haga clic en Nuevo proyecto.

  3. En la ventana Nuevo proyecto, seleccione la plantilla de Visual BasicVisual C# y luego seleccione Aplicación web ASP.NET MVC 2.

  4. En Nombre, escriba el texto siguiente y luego haga clic en Aceptar:
    TestApp

  5. En Crear proyecto de prueba unitaria, seleccione No, no crear un proyecto de prueba unitaria y luego haga clic en Aceptar.

  6. En el Explorador de soluciones, haga clic con el botón secundario en TestApp y seleccione Propiedades.

  7. En la ventana Propiedades de TestApp, seleccione la pestaña Web, bajo Usar servidor de desarrollo de Visual Studio haga clic en Puerto específico y luego cambie el valor a 7777.

  8. Para ejecutar y depurar la aplicación que acaba de crear, presione F5. Si no se encuentran errores, el explorador presenta un proyecto MVC vacío.

    Mantenga abierto Visual Studio 2010 para completar el paso siguiente.

En esta sección se describe cómo integrar ACS con la aplicación de usuario de confianza de ASP.NET que acaba de crear en el paso anterior.

  1. En el Explorador de soluciones para TestApp de Visual Studio 2010, haga clic con el botón secundario en TestApp y seleccione Agregar referencia STS.

  2. En el asistente Utilidad de federación, haga lo siguiente:

    1. En la página Bienvenido al asistente de la utilidad de federación, en URI de aplicación, escriba el URI de la aplicación y luego haga clic en Siguiente. En esta demostración, el URI de la aplicación es http://localhost:7777/.

      noteNota
      La barra final es importante porque coincide con el valor introducido en el Portal de administración de ACS para la aplicación de usuario de confianza. Para obtener más información, vea Paso 4: Adición de una aplicación de usuario de confianza.

    2. Aparece una advertencia: ID 1007: La aplicación no se encuentra hospedada en una conexión https segura. ¿Desea continuar? Para esta demostración, haga clic en .

      noteNota
      En un entorno de producción, esta advertencia sobre el uso de SSL es válida y no debe desecharse.

    3. En la página Servicio de token de seguridad, seleccione Usar STS existente, escriba la dirección URL de metadatos de WS-Federation publicada por ACS y luego haga clic en Siguiente.

      noteNota
      Puede encontrar el valor de la dirección URL de metadatos de WS-Federation en la página Integración de aplicaciones del Portal de administración de ACS. Para obtener más información, vea Paso 6: Revisar la información de integración de aplicaciones.

    4. En la página Error de validación en cadena de certificado de firma STS, haga clic en Siguiente.

    5. En la página Cifrado de token de seguridad, haga clic en Siguiente.

    6. En la página Notificaciones ofrecidas, haga clic en Siguiente.

    7. En la página Resumen, haga clic en Finalizar.

    Una vez finalizada correctamente la ejecución del asistente de la utilidad de federación, se agrega una referencia en el ensamblado Microsoft.IdentityModel.dll y se escriben los valores en el archivo Web.config que configura Windows Identity Foundation en la aplicación web ASP.NET MVC 2 (TestApp).

  3. Abra Web.config y busque el elemento system.web principal. Puede tener un aspecto similar al siguiente:

    <system.web>
        <authorization>
          <deny users="?" />
        </authorization>
    

    Modifique Web.config para permitir la validación de solicitudes. Para ello, agregue el código siguiente bajo el elemento system.web principal:

    
        <!--set this value-->
        <httpRuntime requestValidationMode="2.0"/>
     
    

    Después de la actualización, el fragmento de código anterior se debe ver así:

     
       <system.web>
        <!--set this value-->
        <httpRuntime requestValidationMode="2.0"/>
        <authorization>
        <deny users="?" />
        </authorization>
    

En esta sección se describe cómo puede probar la integración entre su aplicación de usuario de confianza de ASP.NET y ACS.

  1. Mantenga Visual Studio 2010 abierto, presione F5 para iniciar la depuración de la aplicación de usuario de confianza de ASP.NET.

    Si no se encuentran errores, en lugar de abrir la aplicación MVC predeterminada, se redirige el explorador a una página Detección de dominio kerberos de inicio hospedada por ACS que le pide que elija un proveedor de identidades.

  2. Seleccione Google.

    El explorador carga la página de inicio de sesión de Google.

  3. Escriba sus credenciales de prueba de Google y acepte la interfaz de usuario de consentimiento en el sitio web de Google.

    El explorador vuelve a publicar en ACS, ACS emite un token y publica ese token en el sitio de MVC.

Vea también

Mostrar: