SlideShare una empresa de Scribd logo
Video filmado con GeneXus X Evolution 3
Page1
Introducción a GAM
En videos anteriores hemos venido desarrollando una aplicación web y para dispositivos
móviles para administrar los datos de un evento, con información de sus conferencias,
oradores, etc.
Ahora queremos agregarle Seguridad a la aplicación, tanto a la parte web como a la de Smart
Devices.
Video filmado con GeneXus X Evolution 3
Page2
Esto significa asegurar que todos los usuarios que ingresen estén debidamente autenticados,
(es decir, que el usuario sea quien dice ser); y autorizados, o sea que una vez que el usuario se
autentica, se le permita el acceso o no a ciertas partes de la aplicación.
Veamos qué debe tener en cuenta el desarrollador GeneXus para implementar una solución al
problema de la seguridad de las aplicaciones.
En el caso de las aplicaciones Web, como tienen varios puntos de entrada, cualquier objeto
accesible por URL debe chequear permisos de autenticación.
Video filmado con GeneXus X Evolution 3
Page3
Tradicionalmente se programa un procedimiento que contiene la lógica de control de acceso.
Este procedimiento debe verificar los roles y permisos de cada usuario que ingresa a la
aplicación.
Cuantos más roles y permisos se tengan y más complejas se hagan las políticas de seguridad de
las empresas, el código crece y se hace más complicada la verificación de permisos, que se
deben replicar en cada objeto.
En el caso de las aplicaciones para Smart Devices, al ser aplicaciones distribuidas, una parte de
ellas se ejecuta en el propio dispositivo y la capa de negocios de la aplicación se resuelve a
través de servicios Rest, por lo que están expuestas a accesos indeseados.
Lo que se hace es verificar que solamente usuarios debidamente autenticados y autorizados
puedan acceder a la aplicación, evitando la ejecución de usuarios sin los permisos
correspondientes.
Video filmado con GeneXus X Evolution 3
Page4
Estos aspectos son los que motivaron el desarrollo de un módulo de Seguridad para
aplicaciones GeneXus, llamado GAM, GeneXus Access Manager, y es lo que vamos a utilizar en
nuestra aplicación para manejar la Seguridad.
El GAM es un módulo de seguridad que resuelve los problemas de autenticación y
autorización, tanto para aplicaciones Web como para aplicaciones Smart Devices con GeneXus.
Con el GAM, lo que se busca es que la solución de Seguridad se utilice lo más declarativamente
posible dentro de la aplicación, sin crear complejidad en el código.
Esto se puede lograr fácilmente, ya que el GAM es un Módulo de Seguridad desarrollado en
una KB GX, que se integra a nuestra aplicación y permite resolver de manera centralizada todo
lo referente a la Seguridad de la misma.
Video filmado con GeneXus X Evolution 3
Page5
Internamente para resolver la Autenticación, se usa Oauth para el caso de las aplicaciones
para Smart Devices y Web Sessions para resolver la seguridad de las aplicaciones WEB.
En el caso de la Autorización, está basada en Roles, utilizando el modelo Role Based Access
Control, mediante el cual se encapsulan los métodos, propiedades y todo lo necesario para el
manejo de la autorización, para acceder a diferentes partes de la aplicación.
Además el GAM expone una API para acceder a sus métodos y propiedades, en caso de que
sea necesario hacerlo desde nuestra aplicación.
Video filmado con GeneXus X Evolution 3
Page6
Con respecto al proceso de Autenticación, el GAM nos provee diferentes mecanismos:
 Autenticación local, donde los usuarios y todas sus credenciales son almacenados en
una base de datos de la cual somos propietarios
 Facebook y Twitter, aquí se utilizan los mecanismos de autenticación de estas
aplicaciones, no teniéndose que definir usuarios locales. La autenticación se realiza en
el sitio de FB o Twitter respectivamente
 Se puede también autenticar contra servicios Web externos, usando el repositorio de
usuarios y roles de otra aplicación, facilitando de esta forma la integración de
aplicaciones
En cuanto a la Autorización, se valida la Autorización de ejecución de objetos.
En caso de objetos web, esta validación se realiza sobre:
 Web Panels
 Web Components con la propiedad URL Access=Yes y
 Transacciones Web
En el caso de Smart Devices, sobre:
 Work With for Smart Devices y
 Panels for Smart Devices
Video filmado con GeneXus X Evolution 3
Page7
También se verifican los permisos sobre los modos Insert, Update, Delete y Display de las
Transacciones Web y las acciones de Insert, Update y Delete sobre los Work With for Smart
Devices.
Otra funcionalidad interesante que nos provee el GAM es la facilidad de loguearnos una única
vez y que esas credenciales sirvan para validar el acceso a múltiples aplicaciones.
Esta forma de loguearse se denomina “Logueo único” o “Single Sign-in” en su término en
inglés.
Esta funcionalidad resuelve el problema de proporcionar autenticación centralizada
para diferentes aplicaciones web distribuídas.
En el caso de dos o más aplicaciones Web GeneXus, el usuario sólo tendrá que
autenticarse una vez, cuando la primera aplicación que requiere autenticación, pida el
usuario para iniciar sesión.
Una vez que la sesión se valida, el usuario no tendrá que introducir sus credenciales de
nuevo, incluso después de cambiar a otra aplicación web. La autenticación será válida
para todas las aplicaciones Web.
Video filmado con GeneXus X Evolution 3
Page8
En este escenario, todas las aplicaciones web que participan necesitan utilizar GAM, y
uno de ellos se debe configurar como el Proveedor de Identidad.
GAM, que es el proveedor de identidad, se utilizará para autenticar las otras
aplicaciones (lo mismo que sucede con Facebook, Twitter y Google, todos los cuales
son proveedores de identidad). Consideremos un escenario con tres aplicaciones web:
App1, App2 y App3, donde App2 es la aplicación del proveedor de identidades.
Al comienzo, el usuario intenta ejecutar un objeto privado de App1, y éste lo redirige a
la aplicación del proveedor de identidad App2.
Luego se muestra al usuario el inicio de sesión, el mismo se identifica y después hay
una redirección automática a App1.
Video filmado con GeneXus X Evolution 3
Page9
Tras iniciar sesión en App1, si el usuario intenta ejecutar un objeto privado de App3
desde el mismo navegador web, éste vuelve a dirigirlo al proveedor de identidad App2.
Si el login es válido (ya hay una sesión válida para ese usuario), el inicio de sesión no se
muestra al usuario final, y tiene acceso a App3.
Vemos que esto es muy similar a lo que ocurre con Facebook y Twitter; cuando el
usuario inicia sesión en cualquiera de estos sitios, las aplicaciones que los utilizan como
proveedores de identidad usan la misma sesión válida, si se ejecutan en la misma
ventana del navegador.
Para ver cómo configurar las propiedades del GAM para implementar esta
funcionalidad, vaya a la dirección que se muestra en pantalla.
Video filmado con GeneXus X Evolution 3
Page10
En el próximo video de este tema, veremos cómo configurar las propiedades en GeneXus para
agregar la seguridad del módulo GAM a nuestra aplicación.

Más contenido relacionado

Destacado

Boston SilverTech Case Study
Boston   SilverTech Case StudyBoston   SilverTech Case Study
Boston SilverTech Case Study
Scribe Software Corp.
 
Me he casado con wikipedia
Me he casado con wikipediaMe he casado con wikipedia
Me he casado con wikipedia
Formadores CIE
 
Maria jose
Maria joseMaria jose
Maria jose
MACHE2015
 
Escol arte
Escol arteEscol arte
Escol arte
EscolArte
 
These magazines are very similar in the sense that they are both for women
These magazines are very similar in the sense that they are both for womenThese magazines are very similar in the sense that they are both for women
These magazines are very similar in the sense that they are both for women
benzibob1234
 
Tecnologia de computadores
Tecnologia de computadoresTecnologia de computadores
Tecnologia de computadores
natiyasno
 
Pete Wolfley Letter of Recommendation
Pete Wolfley Letter of RecommendationPete Wolfley Letter of Recommendation
Pete Wolfley Letter of Recommendation
Daniel Olmstead
 
Lavadora Aeg L61270WDBI
Lavadora Aeg L61270WDBILavadora Aeg L61270WDBI
Lavadora Aeg L61270WDBI
Alsako Electrodomésticos
 
02recepta 2
02recepta 202recepta 2
ABUSO DE ALCOHOL Y DEMENCIA
ABUSO DE ALCOHOL Y DEMENCIAABUSO DE ALCOHOL Y DEMENCIA
ABUSO DE ALCOHOL Y DEMENCIA
victoria_rogata
 
Bases de datos
Bases de datosBases de datos
Bases de datos
JulianOsornoLear
 

Destacado (11)

Boston SilverTech Case Study
Boston   SilverTech Case StudyBoston   SilverTech Case Study
Boston SilverTech Case Study
 
Me he casado con wikipedia
Me he casado con wikipediaMe he casado con wikipedia
Me he casado con wikipedia
 
Maria jose
Maria joseMaria jose
Maria jose
 
Escol arte
Escol arteEscol arte
Escol arte
 
These magazines are very similar in the sense that they are both for women
These magazines are very similar in the sense that they are both for womenThese magazines are very similar in the sense that they are both for women
These magazines are very similar in the sense that they are both for women
 
Tecnologia de computadores
Tecnologia de computadoresTecnologia de computadores
Tecnologia de computadores
 
Pete Wolfley Letter of Recommendation
Pete Wolfley Letter of RecommendationPete Wolfley Letter of Recommendation
Pete Wolfley Letter of Recommendation
 
Lavadora Aeg L61270WDBI
Lavadora Aeg L61270WDBILavadora Aeg L61270WDBI
Lavadora Aeg L61270WDBI
 
02recepta 2
02recepta 202recepta 2
02recepta 2
 
ABUSO DE ALCOHOL Y DEMENCIA
ABUSO DE ALCOHOL Y DEMENCIAABUSO DE ALCOHOL Y DEMENCIA
ABUSO DE ALCOHOL Y DEMENCIA
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 

Similar a 30.gam introduction sp

Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Cinthia Soca
 
Memorias 3era gug cali colombia
Memorias 3era gug cali colombiaMemorias 3era gug cali colombia
Memorias 3era gug cali colombia
goscar
 
1_ ¿Qué es la seguridad de las aplicaciones_.pdf
1_ ¿Qué es la seguridad de las aplicaciones_.pdf1_ ¿Qué es la seguridad de las aplicaciones_.pdf
1_ ¿Qué es la seguridad de las aplicaciones_.pdf
KilsareFabian
 
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
GeneXus
 
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
GeneXus
 
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
GeneXus
 
Graphic otp generator ultra light 3.2.2_sharpmindsoftware
Graphic otp generator ultra light 3.2.2_sharpmindsoftwareGraphic otp generator ultra light 3.2.2_sharpmindsoftware
Graphic otp generator ultra light 3.2.2_sharpmindsoftware
amaulini
 
Widgets
WidgetsWidgets
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
GeneXus
 
Push notifications
Push notificationsPush notifications
Push notifications
Armando Rosales Maza
 
Presentación sso con cas
Presentación sso con casPresentación sso con cas
Presentación sso con cas
Enrique Toledo
 
Web Browser Fingerprinting
Web Browser FingerprintingWeb Browser Fingerprinting
Web Browser Fingerprinting
Chema Alonso
 
Windows phone y el sector empresarial
Windows phone y el sector empresarialWindows phone y el sector empresarial
Windows phone y el sector empresarial
Javier Suárez Ruiz
 
Softwares de-monitoreo-y-auditoria-de-redes
Softwares de-monitoreo-y-auditoria-de-redesSoftwares de-monitoreo-y-auditoria-de-redes
Softwares de-monitoreo-y-auditoria-de-redes
Omar Yael Miraflores Guzman
 
G-OTP - Generador de clave perecedera gráfica
G-OTP - Generador de clave perecedera gráficaG-OTP - Generador de clave perecedera gráfica
G-OTP - Generador de clave perecedera gráfica
mauromaulinir
 
Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5
Esteban Saavedra
 
SSO mobile 3 opciones
SSO mobile 3 opcionesSSO mobile 3 opciones
SSO mobile 3 opciones
Mariano German Egui
 
Proyecto GPS Corrector 1.docx
Proyecto GPS Corrector 1.docxProyecto GPS Corrector 1.docx
Proyecto GPS Corrector 1.docx
ssuserf11c8d1
 
Sitios blindados de SharePoint
Sitios blindados de SharePointSitios blindados de SharePoint
Sitios blindados de SharePoint
www.encamina.com
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
www.encamina.com
 

Similar a 30.gam introduction sp (20)

Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
 
Memorias 3era gug cali colombia
Memorias 3era gug cali colombiaMemorias 3era gug cali colombia
Memorias 3era gug cali colombia
 
1_ ¿Qué es la seguridad de las aplicaciones_.pdf
1_ ¿Qué es la seguridad de las aplicaciones_.pdf1_ ¿Qué es la seguridad de las aplicaciones_.pdf
1_ ¿Qué es la seguridad de las aplicaciones_.pdf
 
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
 
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
 
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
127 qué hace-y_cómo_se_utiliza_la_seguridad_integrada_a_gene_xus
 
Graphic otp generator ultra light 3.2.2_sharpmindsoftware
Graphic otp generator ultra light 3.2.2_sharpmindsoftwareGraphic otp generator ultra light 3.2.2_sharpmindsoftware
Graphic otp generator ultra light 3.2.2_sharpmindsoftware
 
Widgets
WidgetsWidgets
Widgets
 
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
081 que resuelve-gx_evolution_2_para_la_seguridad_de_sus_aplicaciones_web_y_sd
 
Push notifications
Push notificationsPush notifications
Push notifications
 
Presentación sso con cas
Presentación sso con casPresentación sso con cas
Presentación sso con cas
 
Web Browser Fingerprinting
Web Browser FingerprintingWeb Browser Fingerprinting
Web Browser Fingerprinting
 
Windows phone y el sector empresarial
Windows phone y el sector empresarialWindows phone y el sector empresarial
Windows phone y el sector empresarial
 
Softwares de-monitoreo-y-auditoria-de-redes
Softwares de-monitoreo-y-auditoria-de-redesSoftwares de-monitoreo-y-auditoria-de-redes
Softwares de-monitoreo-y-auditoria-de-redes
 
G-OTP - Generador de clave perecedera gráfica
G-OTP - Generador de clave perecedera gráficaG-OTP - Generador de clave perecedera gráfica
G-OTP - Generador de clave perecedera gráfica
 
Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5
 
SSO mobile 3 opciones
SSO mobile 3 opcionesSSO mobile 3 opciones
SSO mobile 3 opciones
 
Proyecto GPS Corrector 1.docx
Proyecto GPS Corrector 1.docxProyecto GPS Corrector 1.docx
Proyecto GPS Corrector 1.docx
 
Sitios blindados de SharePoint
Sitios blindados de SharePointSitios blindados de SharePoint
Sitios blindados de SharePoint
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 

Último

Manual Soporte y mantenimiento de computo.pdf
Manual Soporte y mantenimiento de computo.pdfManual Soporte y mantenimiento de computo.pdf
Manual Soporte y mantenimiento de computo.pdf
rmurillojesus
 
Partes de una Computadora.documento.word.drive
Partes de una Computadora.documento.word.drivePartes de una Computadora.documento.word.drive
Partes de una Computadora.documento.word.drive
MiguelDoloriert
 
Cerco eléctrico trabajo de senati a.pptx
Cerco eléctrico trabajo de senati a.pptxCerco eléctrico trabajo de senati a.pptx
Cerco eléctrico trabajo de senati a.pptx
brayan231
 
TRABAJO DE TECNOLOGIA increíble y próspero epico
TRABAJO DE TECNOLOGIA increíble y próspero epicoTRABAJO DE TECNOLOGIA increíble y próspero epico
TRABAJO DE TECNOLOGIA increíble y próspero epico
edepjuanorozco
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.TECLADO ERGONÓMICO Y PANTALLAS TACTILES.
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.
FransuaPeralta
 
Manual de mantenimiento hadware xperts pdf
Manual de mantenimiento hadware xperts pdfManual de mantenimiento hadware xperts pdf
Manual de mantenimiento hadware xperts pdf
cbtistechserv
 
trabajo de mantenimiento de equipos ....
trabajo de mantenimiento de equipos ....trabajo de mantenimiento de equipos ....
trabajo de mantenimiento de equipos ....
luzmilalopez043tamar
 

Último (7)

Manual Soporte y mantenimiento de computo.pdf
Manual Soporte y mantenimiento de computo.pdfManual Soporte y mantenimiento de computo.pdf
Manual Soporte y mantenimiento de computo.pdf
 
Partes de una Computadora.documento.word.drive
Partes de una Computadora.documento.word.drivePartes de una Computadora.documento.word.drive
Partes de una Computadora.documento.word.drive
 
Cerco eléctrico trabajo de senati a.pptx
Cerco eléctrico trabajo de senati a.pptxCerco eléctrico trabajo de senati a.pptx
Cerco eléctrico trabajo de senati a.pptx
 
TRABAJO DE TECNOLOGIA increíble y próspero epico
TRABAJO DE TECNOLOGIA increíble y próspero epicoTRABAJO DE TECNOLOGIA increíble y próspero epico
TRABAJO DE TECNOLOGIA increíble y próspero epico
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.TECLADO ERGONÓMICO Y PANTALLAS TACTILES.
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.
 
Manual de mantenimiento hadware xperts pdf
Manual de mantenimiento hadware xperts pdfManual de mantenimiento hadware xperts pdf
Manual de mantenimiento hadware xperts pdf
 
trabajo de mantenimiento de equipos ....
trabajo de mantenimiento de equipos ....trabajo de mantenimiento de equipos ....
trabajo de mantenimiento de equipos ....
 

30.gam introduction sp

  • 1. Video filmado con GeneXus X Evolution 3 Page1 Introducción a GAM En videos anteriores hemos venido desarrollando una aplicación web y para dispositivos móviles para administrar los datos de un evento, con información de sus conferencias, oradores, etc. Ahora queremos agregarle Seguridad a la aplicación, tanto a la parte web como a la de Smart Devices.
  • 2. Video filmado con GeneXus X Evolution 3 Page2 Esto significa asegurar que todos los usuarios que ingresen estén debidamente autenticados, (es decir, que el usuario sea quien dice ser); y autorizados, o sea que una vez que el usuario se autentica, se le permita el acceso o no a ciertas partes de la aplicación. Veamos qué debe tener en cuenta el desarrollador GeneXus para implementar una solución al problema de la seguridad de las aplicaciones. En el caso de las aplicaciones Web, como tienen varios puntos de entrada, cualquier objeto accesible por URL debe chequear permisos de autenticación.
  • 3. Video filmado con GeneXus X Evolution 3 Page3 Tradicionalmente se programa un procedimiento que contiene la lógica de control de acceso. Este procedimiento debe verificar los roles y permisos de cada usuario que ingresa a la aplicación. Cuantos más roles y permisos se tengan y más complejas se hagan las políticas de seguridad de las empresas, el código crece y se hace más complicada la verificación de permisos, que se deben replicar en cada objeto. En el caso de las aplicaciones para Smart Devices, al ser aplicaciones distribuidas, una parte de ellas se ejecuta en el propio dispositivo y la capa de negocios de la aplicación se resuelve a través de servicios Rest, por lo que están expuestas a accesos indeseados. Lo que se hace es verificar que solamente usuarios debidamente autenticados y autorizados puedan acceder a la aplicación, evitando la ejecución de usuarios sin los permisos correspondientes.
  • 4. Video filmado con GeneXus X Evolution 3 Page4 Estos aspectos son los que motivaron el desarrollo de un módulo de Seguridad para aplicaciones GeneXus, llamado GAM, GeneXus Access Manager, y es lo que vamos a utilizar en nuestra aplicación para manejar la Seguridad. El GAM es un módulo de seguridad que resuelve los problemas de autenticación y autorización, tanto para aplicaciones Web como para aplicaciones Smart Devices con GeneXus. Con el GAM, lo que se busca es que la solución de Seguridad se utilice lo más declarativamente posible dentro de la aplicación, sin crear complejidad en el código. Esto se puede lograr fácilmente, ya que el GAM es un Módulo de Seguridad desarrollado en una KB GX, que se integra a nuestra aplicación y permite resolver de manera centralizada todo lo referente a la Seguridad de la misma.
  • 5. Video filmado con GeneXus X Evolution 3 Page5 Internamente para resolver la Autenticación, se usa Oauth para el caso de las aplicaciones para Smart Devices y Web Sessions para resolver la seguridad de las aplicaciones WEB. En el caso de la Autorización, está basada en Roles, utilizando el modelo Role Based Access Control, mediante el cual se encapsulan los métodos, propiedades y todo lo necesario para el manejo de la autorización, para acceder a diferentes partes de la aplicación. Además el GAM expone una API para acceder a sus métodos y propiedades, en caso de que sea necesario hacerlo desde nuestra aplicación.
  • 6. Video filmado con GeneXus X Evolution 3 Page6 Con respecto al proceso de Autenticación, el GAM nos provee diferentes mecanismos:  Autenticación local, donde los usuarios y todas sus credenciales son almacenados en una base de datos de la cual somos propietarios  Facebook y Twitter, aquí se utilizan los mecanismos de autenticación de estas aplicaciones, no teniéndose que definir usuarios locales. La autenticación se realiza en el sitio de FB o Twitter respectivamente  Se puede también autenticar contra servicios Web externos, usando el repositorio de usuarios y roles de otra aplicación, facilitando de esta forma la integración de aplicaciones En cuanto a la Autorización, se valida la Autorización de ejecución de objetos. En caso de objetos web, esta validación se realiza sobre:  Web Panels  Web Components con la propiedad URL Access=Yes y  Transacciones Web En el caso de Smart Devices, sobre:  Work With for Smart Devices y  Panels for Smart Devices
  • 7. Video filmado con GeneXus X Evolution 3 Page7 También se verifican los permisos sobre los modos Insert, Update, Delete y Display de las Transacciones Web y las acciones de Insert, Update y Delete sobre los Work With for Smart Devices. Otra funcionalidad interesante que nos provee el GAM es la facilidad de loguearnos una única vez y que esas credenciales sirvan para validar el acceso a múltiples aplicaciones. Esta forma de loguearse se denomina “Logueo único” o “Single Sign-in” en su término en inglés. Esta funcionalidad resuelve el problema de proporcionar autenticación centralizada para diferentes aplicaciones web distribuídas. En el caso de dos o más aplicaciones Web GeneXus, el usuario sólo tendrá que autenticarse una vez, cuando la primera aplicación que requiere autenticación, pida el usuario para iniciar sesión. Una vez que la sesión se valida, el usuario no tendrá que introducir sus credenciales de nuevo, incluso después de cambiar a otra aplicación web. La autenticación será válida para todas las aplicaciones Web.
  • 8. Video filmado con GeneXus X Evolution 3 Page8 En este escenario, todas las aplicaciones web que participan necesitan utilizar GAM, y uno de ellos se debe configurar como el Proveedor de Identidad. GAM, que es el proveedor de identidad, se utilizará para autenticar las otras aplicaciones (lo mismo que sucede con Facebook, Twitter y Google, todos los cuales son proveedores de identidad). Consideremos un escenario con tres aplicaciones web: App1, App2 y App3, donde App2 es la aplicación del proveedor de identidades. Al comienzo, el usuario intenta ejecutar un objeto privado de App1, y éste lo redirige a la aplicación del proveedor de identidad App2. Luego se muestra al usuario el inicio de sesión, el mismo se identifica y después hay una redirección automática a App1.
  • 9. Video filmado con GeneXus X Evolution 3 Page9 Tras iniciar sesión en App1, si el usuario intenta ejecutar un objeto privado de App3 desde el mismo navegador web, éste vuelve a dirigirlo al proveedor de identidad App2. Si el login es válido (ya hay una sesión válida para ese usuario), el inicio de sesión no se muestra al usuario final, y tiene acceso a App3. Vemos que esto es muy similar a lo que ocurre con Facebook y Twitter; cuando el usuario inicia sesión en cualquiera de estos sitios, las aplicaciones que los utilizan como proveedores de identidad usan la misma sesión válida, si se ejecutan en la misma ventana del navegador. Para ver cómo configurar las propiedades del GAM para implementar esta funcionalidad, vaya a la dirección que se muestra en pantalla.
  • 10. Video filmado con GeneXus X Evolution 3 Page10 En el próximo video de este tema, veremos cómo configurar las propiedades en GeneXus para agregar la seguridad del módulo GAM a nuestra aplicación.