• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Integrando latch en aplicaciones asp.net
 

Integrando latch en aplicaciones asp.net

on

  • 18,778 views

Tutorial elaborado por ElevenPaths sobre cómo integrar Latch en aplicaciones ASP.NET

Tutorial elaborado por ElevenPaths sobre cómo integrar Latch en aplicaciones ASP.NET

Statistics

Views

Total Views
18,778
Views on SlideShare
2,501
Embed Views
16,277

Actions

Likes
0
Downloads
30
Comments
0

38 Embeds 16,277

http://blog.elevenpaths.com 8891
http://www.elladodelmal.com 6004
http://feedly.com 699
http://feeds.feedburner.com 339
http://buhosec.com 113
http://www.diariotecnologia.es 71
http://feedproxy.google.com 22
http://digg.com 16
http://www.inoreader.com 11
http://reader.aol.com 10
http://pikesville19.rssing.com 9
https://reader.aol.com 9
http://127.0.0.1 9
http://inoreader.com 8
http://plus.url.google.com 8
http://www.oodesk.com 7
http://www.feedspot.com 6
http://www.newsblur.com 6
http://translate.googleusercontent.com 6
https://www.google.es 4
http://feedreader.com 4
https://www.commafeed.com 3
http://joansafr.tumblr.com 3
http://s3.amazonaws.com 2
http://summary 2
http://www.leoguillen.com 2
http://localhost 2
https://reader.aol.es 1
http://newsblur.com 1
http://www.google.es 1
http://www.rss.com 1
https://www.google.cl 1
http://rss.programa2.es 1
http://190.57.225.14 1
http://www.uji.es&_=1389455303560 HTTP 1
http://2.bp.blogspot.com 1
http://www.mongui.es 1
http://paths85.rssing.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Integrando latch en aplicaciones asp.net Integrando latch en aplicaciones asp.net Document Transcript

    • Integrando Latch en aplicaciones ASP.NET Enero 2014 ElevenPaths info@elevenpaths.com elevenpaths.com
    • Contenido Contenido .................................................................................................................................................... 1 Introducción ................................................................................................................................................ 2 Requerimientos previos .............................................................................................................................. 2 Integración del plugin .Net en aplicación web form ................................................................................... 3 Comprobando el funcionamiento ............................................................................................................... 8 One Time password................................................................................................................................... 11 23 ElevenPaths elevenpaths.com Page 1 of 17
    • Introducción Latch es un sistema que proporciona un servidor de “pestillos” desarrollado por Eleven Paths que permite a los usuarios bloquear y desbloquear sus identidades digitales con la ayuda de un terminal móvil. Esta aplicación se caracteriza por su interfaz sencilla y clara, lo que facilita su uso por parte de los usuarios finales. Latch se comporta como un servicio totalmente independiente del sistema de autenticación nativa existente en los sistemas donde sea implantado. Esto significa que Latch nunca va a tener acceso a las credenciales de la cuentas, ni el sistema destino (llámese Wordpress, Prestashop o cualquier otro) va a tener acceso a las credenciales de la cuenta de usuario utilizada en Latch. Figura 1: Funcionamiento esquemático de Latch. Se puede encontrar más información en https://latch.elevenpaths.com A continuación se va a mostrar cómo integrar Latch en el entorno de desarrollo .NET. El objetivo es enseñar a integrar cualquier aplicación web desarrollada con ASP.NET y que requiera autenticar usuarios a que utilice Latch como método de seguridad añadido. Requerimientos previos Lo primero que se va a necesitar son las librerías de Latch para .NET, disponibles desde https://github.com/ElevenPaths/latch-plugin-dotnet-membership-provider. Se encuentran en el repositorio GitHub, donde se distribuyen abiertamente. A través del botón Download Zip se puede proceder con la descarga de todos los elementos necesarios. También es necesario crear una cuenta de developer en la web de Latch, y registrarse como proveedor para obtener los datos necesarios. Una vez accedida a la zona interna del desarrollador, será necesario dirigirse a la zona My applications para dar de alta la aplicación a integrar con el plugin de .NET y añadir una aplicación. ElevenPaths elevenpaths.com Page 2 of 17
    • Figura 2: Ejemplo de aplicación .NET añadida a las aplicaciones del desarrollador. Entre las opciones de configuración de la aplicación, se mostrarán dos campos importantes asignados de forma automática: el campo Application ID y el campo Secret. Sus valores serán elementos necesarios en la posterior configuración que se realizará en la página web .NET donde se integre el plugin. En el proceso de configurar las opciones disponibles para la nueva aplicación cabe destacar también aspectos como la imagen a visualizar para la aplicación (el entorno establecerá por defecto una imagen si ésta no se indica explícitamente) en el dispositivo móvil o la configuración para conseguir la integración de segundo factor de autenticación (Second factor). Este aspecto se tratará más adelante. Integración del plugin .Net en aplicación web form Una vez registrada la aplicación en la web de Latch, se debe integrar el plugin de .NET en un nuevo proyecto web ASP.NET. Para obtener el entorno básico con plantillas incorporadas, en Visual Studio.Net se crea un proyecto del tipo ASP.Net Web Forms Application. ElevenPaths elevenpaths.com Page 3 of 17
    • Figura 3: Agregar nueva aplicación ASP.NET. Una vez creada la aplicación web ASP.NET (utilizando para ello el explorador de soluciones) han de ser referenciadas (a través del nodo referencias) las librerías LatchMembership.dll y LatchSDK.dll que proporcionan acceso a Latch. Se encuentran en la carpeta LatchMembership/bin/Release, proporcionada en la descarga del plugin a través de GitHub. Es necesario copiarlas en la carpeta bin de la aplicación web. Este proceso se realiza de forma automática cuando las librerías son agregadas al proyecto desde el explorador de soluciones. Tan solo se ha de hacer clic con el botón derecho del ratón sobre el nodo References y seleccionar en el menú contextual la opción Add reference. Figura 4: Agregar referencia a las librerías ElevenPaths elevenpaths.com Page 4 of 17
    • Para comprobar que las librerías se han agregado correctamente, basta con expandir el nodo References y comprobar que se encuentran añadidas. El siguiente paso será editar el fichero Web.config. En concreto, las modificaciones serán: 1. Declarar una nueva sección (Section) para poder ingresar un nuevo control en el Web.config. 2. Un control personalizado denominado latchSettings, donde se establecerán los valores de Application ID y Secret en los atributos appId y appSecret respectivamente. 3. Un nuevo provider, que NO sustituirá al antiguo provider, sino que será agregado. Tras esto, será necesario cambiar el defaultProvider que viene configurado por defecto por el nuevo proveedor denominado LatchMembershipProvider· El código de ejemplo a establecer en el fichero Web.config con los valores indicados, será el siguiente: <configuration> <configSections> <section name="latchSettings" type="LatchMembership.LatchSettingsSection, LatchMembership, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> </configSections> <latchSettings innerMembershipProvider="MyMembershipProvider" appId="12345678901234567890" appSecret="1234567890123456789012345678901234567890" /> <system.web> <membership defaultProvider="LatchMembershipProvider"> <providers> <add name="MyMembershipProvider" type="..." connectionStringName="..." ... /> <add name="LatchMembershipProvider" type="LatchMembership.LatchMembershipProvider, LatchMembership, Version=1.0.0.0, Culture=neutral" /> </providers> </membership> </system.web> </configuration> El fichero Web.config, tras añadir las modificaciones anteriores, va a quedar de la siguiente forma: ElevenPaths elevenpaths.com Page 5 of 17
    • Figura 5: Ejemplo de fichero Web.config ya modificado En este punto es necesario acceder a la zona de administración del usuario de la aplicación web en la que se desea integrar Latch. En ella se incluirá un control de usuario destinado a realizar el proceso de pareo con Latch. La aplicación web predeterminada proporciona una plantilla funcional que cuenta con una zona de register y con una zona de sign in. Una vez se registre a un usuario (en el ejemplo que se ilustra se ha utilizado al usuario Jhonattan) la zona administración de cuenta tendrá el siguiente aspecto de forma predeterminada. Figura 6: Página de administración de cuenta ElevenPaths elevenpaths.com Page 6 of 17
    • Para insertar el control de usuario (a partir de ahora se va a denominar Pairing Control), se debe editar con Visual Studio.Net el archivo Manage.aspx. La vista diseño (pestaña Design) proporciona un entorno WYSIWYG (What You See Is What You Get) que se podrá utilizar para acoplar el control. Figura 7: Modo diseño de la página Manage.aspx El siguiente paso será activar el cuadro de herramientas (pestaña Toolbox) y seleccionar la opción Choose Items con el botón derecho. Esta opción abrirá un panel donde se cargarán todos los componentes disponibles (acción que puede tardar hasta un minuto) y desde el que se seleccionarán los componentes de Latch que se van a utilizar, referenciados anteriormente. Sobre la pestaña .NET Framework Components, hay que pulsar sobre el botón Browse… y seleccionar las librerías de Latch (LatchMembership.dll y LatchSDK.dll), disponibles en la carpeta bin de la aplicación web. ElevenPaths elevenpaths.com Page 7 of 17
    • Figura 8: Localizando los componentes De nuevo, solo queda comprobar que bajo la sección General del cuadro de herramientas se han agregado dos nuevos controles de usuario al cuadro de herramientas (LatchLogin y PairingControl). Figura 9: Componentes agregados al cuadro de herramientas El siguiente paso será arrastrar el componente PairingControl y soltarlo sobre la zona del fichero Manage.aspx donde se desee establecer el pareado. Comprobando el funcionamiento Llegados a este punto, se dispone de todo lo necesario para utilizar Latch. Ya que la zona de administración de cuenta se habrá modificado para poner a disposición del usuario la opción de introducir un token de pareo (emparejamiento) entre aplicación y terminal móvil mediante el campo Parining token. ElevenPaths elevenpaths.com Page 8 of 17
    • Figura 10: Manage.aspx con campo para pareado Para comprobarlo desde el punto de vista del usuario, se debe usar la app correspondiente. Actualmente Latch se encuentra disponible para plataformas iOS, Android y Windows Phone desde los markets oficiales correspondientes: - App Store (aplicación para sistemas móviles iOS) Google Play (aplicación para sistemas móviles Android) MarketPlace Microsoft (aplicación para sistemas Windows Phone) Una vez instalada en el teléfono o tablet, se debe añadir el servicio. A través del botón Add Service, Latch va mostrar la opción Generate a pairing code que generará el código de emparejamiento que debe ser introducido en la aplicación web .NET. El código debe introducirse en la aplicación .NET creada. Figura 11: Introduciendo el token generado en el smartphone en la aplicación web ElevenPaths elevenpaths.com Page 9 of 17
    • Este código de emparejamiento será válido durante un tiempo determinado. Si dentro de ese intervalo no se ha producido el emparejamiento, habrá que generar un nuevo código de emparejamiento. Si todo funciona correctamente, en el teléfono se debe recibir un mensaje de confirmación de emparejamiento. Figura 12: Notificación de cuenta asociada correctamente Por otro lado, en la aplicación web aparecerá el siguiente mensaje, mostrando un código para referenciar la cuenta de usuario y la opción Unpair, en el caso de que se desee desvincular desvincular posteriormente la aplicación web con el servicio Latch. Figura 13: Detalle de cuenta de usuario y opción unpair En la pantalla principal de la app del usuario aparecerá ahora la nueva aplicación pareada Mi aplicación .NET, con la opción de poder bloquear/desbloquear (Unlocked/Locked) ElevenPaths elevenpaths.com Page 10 of 17
    • One Time password Otra de las opciones a configurar es la de Contraseña de un solo uso (One Time Password). Lo mostrado hasta ahora permite establecer el estado de bloqueo en la cuenta de acceso a la aplicación .NET por parte de un usuario. Sin embargo, con la opción de Contraseña de solo uso configurada a nivel de aplicación, se puede establecer un segundo factor de autenticación fortificando la seguridad de la cuenta. Para implementar esta opción, el usuario ha de remitirse de nuevo a la configuración de la aplicación dentro del área de desarrollo en la web de Latch. Figura 14: Activando OTP desde la configuración de la aplicación En la configuración de la aplicación, se dispone del campo 2-Factor OTP para configurar la OTP. Si el usuario desarrollador elige la opción de Opt in y el usuario cliente tiene seleccionado la opción de OTP en la configuración del servicio de la aplicación Mi Aplicación .Net en su móvil, cada vez que éste quiera ingresar en la aplicación web deberá introducir un código de un solo uso (OTP) que se le enviará al móvil. Sin embargo, si el usuario desarrollador elige la opción Mandatory obligará a los usuarios de su aplicación a introducir un segundo factor de autenticación siempre al intentar autenticarse en su web, puesto que el usuario cliente no tendrá la opción de deshabilitar el Second factor. Para incluir la funcionalidad de Contraseña de un solo uso en la aplicación web, el desarrollador deberá acudir a su sección de Login y editar el archivo Login.aspx, que puede editarse de forma muy similar a ElevenPaths elevenpaths.com Page 11 of 17
    • como se hizo con el archivo Manage.aspx. Se ha de arrastrar el control Latch Login desde el cuadro de herramientas y soltarlo sobre la vista de diseño de la página de Login. Figura 15: Control LatchLogin insertado en el código fuente de la página de Login Ahora se debe realizar un cambio simple: cambiar la etiqueta <asp:Login> por <cc1:LatchLogin>, además del cierre de la etiqueta </asp:Login> por la etiqueta </cc1:LatchLogin>. ElevenPaths elevenpaths.com Page 12 of 17
    • Figura 16: Control LatchLogin insertado en el código fuente de la página de Login Realizado el cambio, la aplicación Latch del usuario final mostrará la opción de utilizar la Contraseña de un solo uso (Opción de configuración One-time password), cuando paree esta aplicación. Para comprobar su funcionamiento, y puesto que en el ejemplo el desarrollador ha elegido que sea una opción no obligatoria para el usuario (Opt-in), este debe activar el botón de la configuración One-time password a On. ElevenPaths elevenpaths.com Page 13 of 17
    • Figura 17: Opción One-time password en On desde la app del usuario Cuando el usuario se presente en la aplicación ASP.NET, desde Login.aspx se solicitará ahora la Contraseña de un solo uso, que deberá introducirse para poder finalizar el proceso de autenticación sobre la aplicación web. ElevenPaths elevenpaths.com Page 14 of 17
    • Figura 18: OTP enviado al dispositivo móvil con la app Figura 19: Una vez autenticado, se procederá a comprobar el segundo factor de autenticación enviado al dispositivo móvil con la app ElevenPaths elevenpaths.com Page 15 of 17
    • Legal Notice The information disclosed in this document is the property of Telefónica Digital Identity & Privacy, S.L.U. (“TDI&P”) and/or any other entity within Telefónica Group and/or its licensors. TDI&P and/or any Telefonica Group entity or TDI&P’S licensors reserve all patent, copyright and other proprietary rights to this document, including all design, manufacturing, reproduction, use and sales rights thereto, except to the extent said rights are expressly granted to others. The information is this document is subject to change at any time, without notice. Neither the whole nor any part of the information contained herein may be copied, distributed, adapted or reproduced in any material form except with the prior written consent of TDI&P. This document is intended only to assist the reader in the use of the product or service described in the document. In consideration of receipt of this document, the recipient agrees to use such information for its own use and not for other use. TDI&P shall not be liable for any loss or damage arising out from the use of the any information in this document or any error or omission in such information or any incorrect use of the product or service. The use of the product or service described in this document are regulated in accordance with the terms and conditions accepted by the reader. TDI&P and its trademarks (or any other trademarks owned by Telefonica Group) are registered service marks. All rights reserved. ElevenPaths elevenpaths.com Page 16 of 17