SlideShare a Scribd company logo
1 of 23
Proyecto de Investigación Inicio de SesiónÚnico con Google Alumno: Seth Karim Luis Martínez Profesor: Daniel Gutiérrez Colorado Facultad de Inteniería y Tecnologíade la Universidad de Montemorelos
Presentación del problema Cómoimplementar un inicio de sesiónúnicopara los usuarios de los diferentessistemasexistentes en la Universidad de Montemorelos? Cómointegrar los recursos de Google tales como Calendar, Gmail, Docs y demás, a los sistemasexistentes en la Universidad de Montemorelos?
Objetivos y Justificación del Problema Porvariosaños se ha pensado en tener un solo login paratodos los sistemasexistentes en la Universidad de Montemorelos, peropordiversosmotivos no se ha logradoimplementar. El propósito del presenteproyectoeslograrimplementar en todos los sistemas de la Universidad de Montemorelos un mecanismo de autenticación (login) únicoparatodos, usandoparaellolascuentas de correo de los empleados, con la finalidad de que los empleados no tenganqueestarrecordandodistintosnombres de usuario y contraseñas nitenganqueestarselogueandocadavezquecambian entre los diversossistemasexistentes, ahorrando de estamanera mucho tiempovaliosoparaellos. De igualmanera el uso de Gogolecomoproveedor de identidadahorrara la necesidad de almacenar y protegercontraseñas en bases de datos locales De igualmanera se intentapoderintegrar a los sistemas de la Universidad de Montemorelos los servicios de Google tales como Calendar, Documentos, Correo, etc.
Limitaciones y Delimitaciones Tiempo: Se cuenta con 70 días, del 01 de Marzo del 2011 al 20 de Mayo del 2011. Tecnología: El desarrolloestálimitado al framework appfuse 1.9.4, Spring 2.0.6 y esnecesarioadaptarmcuhascosas a estasversiones no tan recientes Estructura y Desarrollo del resto de los sistemas:Puedequehayadiversasincompatibilidades entre los diversossistemas a integrar en un solo login debido a queusandistintasplataformas de desarrollo Información: Al sereste, un proyectorealizado “a la medida”, no hay muchainformacióndisponible al respecto, asíquetodo lo que se hará sera nuevo
Recursos a usar y definición de términos Framework Appfuse 1.9.4 – Framework de desarrollo web robustoqueintegradiversastecnologías y usa el patrón de desarrollo en capas MVC (Modelo-Vista-Controlador) Spring Framework 2.0.6 – Framework paraaplicaciones Java basado en la inyección de dependenciasbasado en XML (Extensible Markup Language) OpenID – Estandar de identificacion digital descentralizado con el que un usuariopuedeidentificarse a través de una URL proveídapor un Proveedor de Identidad (IdP) SSO (Single Sign On) – Procedmiento de autenticaciónquehabilita al usuarioparaacceder a variossistemas con una sola instancia de identeificación Google – Empresapropietaria del buscador de dichonombre y de muchosservicios mas LDAP – Lightweight Directory Access Protocol) Protocolo  a nivel de aplicacionquepermite el acceso a un serviio de directorioordenado y distribuidoparabuscarinformacion en un entorno de red
Procedimiento de investigación  	  Pasos a realizarparalograr el objetivo: ,[object Object]
Implementación en un sistema de la tecnología de autenticación
Búsqueda de la manera de integrar los servicios de Google
Integración de un sistema con los servicios de Google
Extensión de los procedimientoslogrados a los demássistemas,[object Object]
Gracias
Proceso de Investigacion (1) Estudio de diversas tecnologías que permiten un inicio de sesión único *OpenSSO y OpenID: Comparativa y capacidad de integracion http://www.mundointernet.es/IMG/pdf/ponencia151_2.pdf CONCLUSION: OpenSSO-Un solo login, varias credenciales. Funciona mejor en intranets. La autenticacion es lleavada a cabo por el propio sistema OpenID-Una sola credencial, mas de un login. Aun es inseguro y la autenticacion es delagada a un tercero Integración: Permitir el acceso al Sistema Institucional con un identificador OpenID y asociar a OpenSSO el identificador OpenID y asi se puede navegar entre aplicaciones teniendo las ventajas de tener una sola credencial (OpenID) y al mismo tiempo un solo login (OpenSSO) MI PUNTO DE VISTA: Mezclar ambas cosas es complicado, asi que pienso que lo mejor es implementar OpenSSO (Single SignOn), lo cual hace que, con loguearnos a una sola aplicacion, se crea una cookie con nuestra identidad y de ahi en adelante, el proceso de logueo a las demas aplicaciones lo hace el mismo sistema en base a la cookie. OpenID no me da confianza porque cualquiera con una cuenta Google/Gmailpodria acceder a los sistemas UM ya que el encargado de la autenticacion es Google  (proveedor de identidad) ACTUALIZACIÓN: Hay que usar OpenID. Es la única manera de que Google pueda actuar como proveedor de identidad, ya que la manera de loguearse será a través del correo electrónico
Proceso de Investigacion (2) *OpenID, Infocards y Contexto http://estandaresytecnologiasdefi.wordpress.com/page/2/ CONCLUSIÓN: Muestra una perspectiva sobre las tecnologias actuales que proveen una autenticacion o identidad *SimpleSAMLphp http://simplesamlphp.org/ CONCLUSION: Se ocupa de proveer una identidad a los usuarios. Puede funcionar como Proveedor de Servicios y como Proveedor de Identidad. Es multilenguaje y tiene su documentacionaqui: http://simplesamlphp.org/docs/1.7/ . Lo malo es que es en PHP *OpenSSO Java https://opensso.dev.java.net/ CONCLUSION: No lo he leido mucho, pero aqui esta toda la informacion.
Proceso de Investigacion (3) *Shibboleth http://shibboleth.internet2.edu/ CONSLUSION: Provee OpenSSO *LOGINS EXTRAS Con Facebook: http://developers.facebook.com/docs/guides/web#login Con Yahoo: http://developer.yahoo.com/bbauth/user.html Con Twitter: http://dev.twitter.com/pages/oauth_faq *Login Federado con cuentas Google http://code.google.com/intl/es-419/apis/accounts/docs/OpenID.html NOTA: ESTO LO USARÉ PARA EL LOGIN OPENID USANDO GOOGLE NOTA2: A partir de ahora los links moradosserán los links mas valiosos
Proceso de Investigación (4) *MI SOLUCION PROPUESTA -Para permitir el acceso de los usuarios puede usarse OpenSSO y utilizar a Google como Proveedor de Identidad (no encuentro como) ACTUALIZACIÓN: La única manera de usar a Google como Proveedor de Identidad es usar OpenID, así que este será el punto de entrada al Sistema Institucional -Para que Google actue como proveedor de identidad, es necesario usar openID -Para parmitir usar los recursos de Google, el Sistema actuara como Proveedor de Identidad y Google como Proveedor de Servicios (Tutorial de Pedro Ventura)
Proceso de Investigación (5) Después de llegar a la conclusión de que mi punto de partida en esta investigación/proyecto era poder implementar OpenID en el Sistema y lograr de esa manera la autenticación usando Google, me di a la tarea de investigar cosas relacionadas que me permitieran llevar esto a acabo: *Que es un LDAP http://ldapman.org/articles/sp_intro.html CONCLUSION: LDAP es una Base de Datos donde se almacenan los datos de autenticacion de un usuario (nombre, contrasenia y otros) y sus roles *Proyecto de SSO por inmuna para la Municipalidad de Rosario http://www.google.com.mx/url?sa=t&source=web&cd=3&ved=0CCkQFjAC&url=http%3A%2F%2Fwww.rosario.gov.ar%2FArchivosWeb%2Fmunix%2Fdoc_arq2.pdf&rct=j&q=sso%20y%20ldap&ei=IfpCTYirI4WisQOVlaX4Cg&usg=AFQjCNFe1X0cbMtKtET6qSqjF_FjY0aaLw&sig2=tjl3rIuXEE2AhGTOlUvL8g&cad=rja CONCLUSION: Tiene una explicacion detallada de como se configuro SSO, usando Kerberos y LDAP para lograr el SSO. Viene explicado paso a paso
Proceso de Investigación (6) CONCLUSIÓN GENERAL *Bueno, basado en el comentario de David Cifuentes -http://groups.google.com/group/colombia-gtug/browse_thread/thread/f851a1d4ad020e8e-,  si lo que se necesita es delegar el proceso de autenticación a Google como proveedor de identidad se debe usar OpenID. Google Accounts soporta Single Sign-On mediante OpenID, es decir Google actua como proveedor de identidad y, si tus aplicaciones internas soportan OpenID, éstas actuaran como proveedoras de servicios. Asi que, por lo tanto, para permitir, el logueounico, usando a Google como proveedor de identidad, es necesario usar OpenID. Para hacer la parte de usar los servicios de Google (correo, calendario, etc), este debera actuar como proveedor de servicio y aqui es donde aplican los tutoriales de PedroVentura -http://www.pedroventura.com/blog_programacion/2009/06/23/login-externo-usando-api-de-google-apps/- Otra opción menos viable, porque no le entendi mucho a la informacion y hay poca, es usar CAS (Central AuthenticationService): http://www.jasig.org/cas -Aqui un tuto para usar CAS con Eclipse: https://wiki.jasig.org/display/CASUM/Using+CAS+with+Maven+2+and+Eclipse
Proceso de Investigación (7) Decidido a implementar OpenID en appfuse, como primer paso, investigué sobre este tema las diferentes opciones que existen para implementar OpenID en tu aplicación web: *Como funciona OpenID http://es.wikipedia.org/wiki/OpenID INVESTIGACION DE COMO IMPLEMENTAR OPENID EN MI APLICACION WEB *Tecnologias/Proyectos disponibles -- http://wiki.openid.net/w/page/12995176/Libraries  -JOpenID -- http://code.google.com/p/jopenid/ WIKI: http://code.google.com/p/jopenid/wiki/JOpenId  -OpenID4Java -- http://code.google.com/p/openid4java/  -Hacer a mi aplicacion mi propia proveedora de identidad -- http://wiki.openid.net/w/page/12995226/Run-your-own-identity-server *Implementar OpenID en mi aplicacion: http://www.ibm.com/developerworks/java/library/j-openid/index.html?ca=drs- *Escribir un Proveedor de OpenID para SSO: http://www.ibm.com/developerworks/java/library/j-openid2/index.html?ca=drs-
Proceso de Investigación (8) Otras alternativas: -OpenSSO: https://opensso.dev.java.net/ , http://developers.sun.com/identity/reference/techart/app-integration.html -JOSSO: http://www.josso.org/confluence/display/JOSSO1/JOSSO+-+Java+Open+Single+Sign-On+Project+Home -OpenAM: http://www.forgerock.com/openam.html , https://wikis.forgerock.org/confluence/display/openam/Home -Login Federado para Usuarios de Cuentas Google: http://code.google.com/intl/es-ES/apis/accounts/ , http://code.google.com/intl/es-ES/apis/accounts/docs/OpenID.html Tutorial a seguir para implementar OpenID por medio de Login Federado para usuarios de cuentas Google http://code.google.com/intl/es/apis/accounts/docs/OpenID.html Que libreria usar???? -OpenId4Java ya que es la que ha sido probada para Logins Federados -- http://code.google.com/intl/es/apis/accounts/docs/OpenID.html Como implementar OpenID4Java? -- http://code.google.com/p/openid4java/wiki/QuickStart Como diseniar una buena interfaz para ingresar al Sistema: http://sites.google.com/site/oauthgoog/UXFedLogin/summary
Proceso de Investigación (9) Acegi soporta OpenID http://www.infoq.com/news/2008/04/spring-security http://www.acegisecurity.org/ NOTA: Acegies lo mismoque Spring Security ahora, yaque lo absorbió. A partir de su version 2 pasó a llamarse Spring Security A partir de estemomento, debido a queappfuseviene con Acegi, buscaré la maner de implementarOpenIDusando el acegi o en sudefecto, actualizarlaslibrerías y usar Spring Security
Proceso de Investigación (10) Como configurar Spring Security paraquesoporteOpenID http://forum.springsource.org/showthread.php?t=80655 DocumentacionoficialparaconfigurarSpringSecurityparaquesoporteOpenID http://static.springsource.org/spring-security/site/docs/2.0.x/reference/ns-config.html#ns-openid AutenticacionOpenIDusando Spring Security http://blog.fredvos.org/2008/10/openid-authentication-with-spring.html Tutorial de configuracion de OpenID con Spring Security en un proyecto Grails http://www.gruposp2p.org/wordpress/?p=225 Unasconfiguracionesinteresantes http://blog.jotadeveloper.com/2009/06/23/spring-security-2-la-configuracion-a-la-medida-con-dao-hibernate-iv/ Todoslassubetiquetas de <openid-login> http://static.springsource.org/spring-security/site/docs/3.0.x/reference/appendix-namespace.html#nsa-openid-login
Proceso de Investigación (11) Spring Security OpenID con Google (Ejemplo) http://code.google.com/p/spring-security-openid/downloads/detail?name=spring-security-openid-google.zip Tutorial Oficinal OpenID4Java http://code.google.com/p/openid4java/ *Configurando un LDAP en Apffuse http://appfuse.org/display/APF/LDAP+Authentication#LDAPAuthentication-appfuse1xx
Proceso de Investigación () A partir de ahoradetallolasconfiguraciones y cosasque he aprendidoacerca de comohabilitar el soporteparaOpenID en Spring parapoderutilizarlo en Appfuse 1.9.4:

More Related Content

Recently uploaded

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Recently uploaded (19)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Featured

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

Featured (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Inicio de Sesión Único e Integración con los Servicios de Google

  • 1. Proyecto de Investigación Inicio de SesiónÚnico con Google Alumno: Seth Karim Luis Martínez Profesor: Daniel Gutiérrez Colorado Facultad de Inteniería y Tecnologíade la Universidad de Montemorelos
  • 2. Presentación del problema Cómoimplementar un inicio de sesiónúnicopara los usuarios de los diferentessistemasexistentes en la Universidad de Montemorelos? Cómointegrar los recursos de Google tales como Calendar, Gmail, Docs y demás, a los sistemasexistentes en la Universidad de Montemorelos?
  • 3. Objetivos y Justificación del Problema Porvariosaños se ha pensado en tener un solo login paratodos los sistemasexistentes en la Universidad de Montemorelos, peropordiversosmotivos no se ha logradoimplementar. El propósito del presenteproyectoeslograrimplementar en todos los sistemas de la Universidad de Montemorelos un mecanismo de autenticación (login) únicoparatodos, usandoparaellolascuentas de correo de los empleados, con la finalidad de que los empleados no tenganqueestarrecordandodistintosnombres de usuario y contraseñas nitenganqueestarselogueandocadavezquecambian entre los diversossistemasexistentes, ahorrando de estamanera mucho tiempovaliosoparaellos. De igualmanera el uso de Gogolecomoproveedor de identidadahorrara la necesidad de almacenar y protegercontraseñas en bases de datos locales De igualmanera se intentapoderintegrar a los sistemas de la Universidad de Montemorelos los servicios de Google tales como Calendar, Documentos, Correo, etc.
  • 4. Limitaciones y Delimitaciones Tiempo: Se cuenta con 70 días, del 01 de Marzo del 2011 al 20 de Mayo del 2011. Tecnología: El desarrolloestálimitado al framework appfuse 1.9.4, Spring 2.0.6 y esnecesarioadaptarmcuhascosas a estasversiones no tan recientes Estructura y Desarrollo del resto de los sistemas:Puedequehayadiversasincompatibilidades entre los diversossistemas a integrar en un solo login debido a queusandistintasplataformas de desarrollo Información: Al sereste, un proyectorealizado “a la medida”, no hay muchainformacióndisponible al respecto, asíquetodo lo que se hará sera nuevo
  • 5. Recursos a usar y definición de términos Framework Appfuse 1.9.4 – Framework de desarrollo web robustoqueintegradiversastecnologías y usa el patrón de desarrollo en capas MVC (Modelo-Vista-Controlador) Spring Framework 2.0.6 – Framework paraaplicaciones Java basado en la inyección de dependenciasbasado en XML (Extensible Markup Language) OpenID – Estandar de identificacion digital descentralizado con el que un usuariopuedeidentificarse a través de una URL proveídapor un Proveedor de Identidad (IdP) SSO (Single Sign On) – Procedmiento de autenticaciónquehabilita al usuarioparaacceder a variossistemas con una sola instancia de identeificación Google – Empresapropietaria del buscador de dichonombre y de muchosservicios mas LDAP – Lightweight Directory Access Protocol) Protocolo a nivel de aplicacionquepermite el acceso a un serviio de directorioordenado y distribuidoparabuscarinformacion en un entorno de red
  • 6.
  • 7. Implementación en un sistema de la tecnología de autenticación
  • 8. Búsqueda de la manera de integrar los servicios de Google
  • 9. Integración de un sistema con los servicios de Google
  • 10.
  • 12. Proceso de Investigacion (1) Estudio de diversas tecnologías que permiten un inicio de sesión único *OpenSSO y OpenID: Comparativa y capacidad de integracion http://www.mundointernet.es/IMG/pdf/ponencia151_2.pdf CONCLUSION: OpenSSO-Un solo login, varias credenciales. Funciona mejor en intranets. La autenticacion es lleavada a cabo por el propio sistema OpenID-Una sola credencial, mas de un login. Aun es inseguro y la autenticacion es delagada a un tercero Integración: Permitir el acceso al Sistema Institucional con un identificador OpenID y asociar a OpenSSO el identificador OpenID y asi se puede navegar entre aplicaciones teniendo las ventajas de tener una sola credencial (OpenID) y al mismo tiempo un solo login (OpenSSO) MI PUNTO DE VISTA: Mezclar ambas cosas es complicado, asi que pienso que lo mejor es implementar OpenSSO (Single SignOn), lo cual hace que, con loguearnos a una sola aplicacion, se crea una cookie con nuestra identidad y de ahi en adelante, el proceso de logueo a las demas aplicaciones lo hace el mismo sistema en base a la cookie. OpenID no me da confianza porque cualquiera con una cuenta Google/Gmailpodria acceder a los sistemas UM ya que el encargado de la autenticacion es Google (proveedor de identidad) ACTUALIZACIÓN: Hay que usar OpenID. Es la única manera de que Google pueda actuar como proveedor de identidad, ya que la manera de loguearse será a través del correo electrónico
  • 13. Proceso de Investigacion (2) *OpenID, Infocards y Contexto http://estandaresytecnologiasdefi.wordpress.com/page/2/ CONCLUSIÓN: Muestra una perspectiva sobre las tecnologias actuales que proveen una autenticacion o identidad *SimpleSAMLphp http://simplesamlphp.org/ CONCLUSION: Se ocupa de proveer una identidad a los usuarios. Puede funcionar como Proveedor de Servicios y como Proveedor de Identidad. Es multilenguaje y tiene su documentacionaqui: http://simplesamlphp.org/docs/1.7/ . Lo malo es que es en PHP *OpenSSO Java https://opensso.dev.java.net/ CONCLUSION: No lo he leido mucho, pero aqui esta toda la informacion.
  • 14. Proceso de Investigacion (3) *Shibboleth http://shibboleth.internet2.edu/ CONSLUSION: Provee OpenSSO *LOGINS EXTRAS Con Facebook: http://developers.facebook.com/docs/guides/web#login Con Yahoo: http://developer.yahoo.com/bbauth/user.html Con Twitter: http://dev.twitter.com/pages/oauth_faq *Login Federado con cuentas Google http://code.google.com/intl/es-419/apis/accounts/docs/OpenID.html NOTA: ESTO LO USARÉ PARA EL LOGIN OPENID USANDO GOOGLE NOTA2: A partir de ahora los links moradosserán los links mas valiosos
  • 15. Proceso de Investigación (4) *MI SOLUCION PROPUESTA -Para permitir el acceso de los usuarios puede usarse OpenSSO y utilizar a Google como Proveedor de Identidad (no encuentro como) ACTUALIZACIÓN: La única manera de usar a Google como Proveedor de Identidad es usar OpenID, así que este será el punto de entrada al Sistema Institucional -Para que Google actue como proveedor de identidad, es necesario usar openID -Para parmitir usar los recursos de Google, el Sistema actuara como Proveedor de Identidad y Google como Proveedor de Servicios (Tutorial de Pedro Ventura)
  • 16. Proceso de Investigación (5) Después de llegar a la conclusión de que mi punto de partida en esta investigación/proyecto era poder implementar OpenID en el Sistema y lograr de esa manera la autenticación usando Google, me di a la tarea de investigar cosas relacionadas que me permitieran llevar esto a acabo: *Que es un LDAP http://ldapman.org/articles/sp_intro.html CONCLUSION: LDAP es una Base de Datos donde se almacenan los datos de autenticacion de un usuario (nombre, contrasenia y otros) y sus roles *Proyecto de SSO por inmuna para la Municipalidad de Rosario http://www.google.com.mx/url?sa=t&source=web&cd=3&ved=0CCkQFjAC&url=http%3A%2F%2Fwww.rosario.gov.ar%2FArchivosWeb%2Fmunix%2Fdoc_arq2.pdf&rct=j&q=sso%20y%20ldap&ei=IfpCTYirI4WisQOVlaX4Cg&usg=AFQjCNFe1X0cbMtKtET6qSqjF_FjY0aaLw&sig2=tjl3rIuXEE2AhGTOlUvL8g&cad=rja CONCLUSION: Tiene una explicacion detallada de como se configuro SSO, usando Kerberos y LDAP para lograr el SSO. Viene explicado paso a paso
  • 17. Proceso de Investigación (6) CONCLUSIÓN GENERAL *Bueno, basado en el comentario de David Cifuentes -http://groups.google.com/group/colombia-gtug/browse_thread/thread/f851a1d4ad020e8e-, si lo que se necesita es delegar el proceso de autenticación a Google como proveedor de identidad se debe usar OpenID. Google Accounts soporta Single Sign-On mediante OpenID, es decir Google actua como proveedor de identidad y, si tus aplicaciones internas soportan OpenID, éstas actuaran como proveedoras de servicios. Asi que, por lo tanto, para permitir, el logueounico, usando a Google como proveedor de identidad, es necesario usar OpenID. Para hacer la parte de usar los servicios de Google (correo, calendario, etc), este debera actuar como proveedor de servicio y aqui es donde aplican los tutoriales de PedroVentura -http://www.pedroventura.com/blog_programacion/2009/06/23/login-externo-usando-api-de-google-apps/- Otra opción menos viable, porque no le entendi mucho a la informacion y hay poca, es usar CAS (Central AuthenticationService): http://www.jasig.org/cas -Aqui un tuto para usar CAS con Eclipse: https://wiki.jasig.org/display/CASUM/Using+CAS+with+Maven+2+and+Eclipse
  • 18. Proceso de Investigación (7) Decidido a implementar OpenID en appfuse, como primer paso, investigué sobre este tema las diferentes opciones que existen para implementar OpenID en tu aplicación web: *Como funciona OpenID http://es.wikipedia.org/wiki/OpenID INVESTIGACION DE COMO IMPLEMENTAR OPENID EN MI APLICACION WEB *Tecnologias/Proyectos disponibles -- http://wiki.openid.net/w/page/12995176/Libraries -JOpenID -- http://code.google.com/p/jopenid/ WIKI: http://code.google.com/p/jopenid/wiki/JOpenId -OpenID4Java -- http://code.google.com/p/openid4java/ -Hacer a mi aplicacion mi propia proveedora de identidad -- http://wiki.openid.net/w/page/12995226/Run-your-own-identity-server *Implementar OpenID en mi aplicacion: http://www.ibm.com/developerworks/java/library/j-openid/index.html?ca=drs- *Escribir un Proveedor de OpenID para SSO: http://www.ibm.com/developerworks/java/library/j-openid2/index.html?ca=drs-
  • 19. Proceso de Investigación (8) Otras alternativas: -OpenSSO: https://opensso.dev.java.net/ , http://developers.sun.com/identity/reference/techart/app-integration.html -JOSSO: http://www.josso.org/confluence/display/JOSSO1/JOSSO+-+Java+Open+Single+Sign-On+Project+Home -OpenAM: http://www.forgerock.com/openam.html , https://wikis.forgerock.org/confluence/display/openam/Home -Login Federado para Usuarios de Cuentas Google: http://code.google.com/intl/es-ES/apis/accounts/ , http://code.google.com/intl/es-ES/apis/accounts/docs/OpenID.html Tutorial a seguir para implementar OpenID por medio de Login Federado para usuarios de cuentas Google http://code.google.com/intl/es/apis/accounts/docs/OpenID.html Que libreria usar???? -OpenId4Java ya que es la que ha sido probada para Logins Federados -- http://code.google.com/intl/es/apis/accounts/docs/OpenID.html Como implementar OpenID4Java? -- http://code.google.com/p/openid4java/wiki/QuickStart Como diseniar una buena interfaz para ingresar al Sistema: http://sites.google.com/site/oauthgoog/UXFedLogin/summary
  • 20. Proceso de Investigación (9) Acegi soporta OpenID http://www.infoq.com/news/2008/04/spring-security http://www.acegisecurity.org/ NOTA: Acegies lo mismoque Spring Security ahora, yaque lo absorbió. A partir de su version 2 pasó a llamarse Spring Security A partir de estemomento, debido a queappfuseviene con Acegi, buscaré la maner de implementarOpenIDusando el acegi o en sudefecto, actualizarlaslibrerías y usar Spring Security
  • 21. Proceso de Investigación (10) Como configurar Spring Security paraquesoporteOpenID http://forum.springsource.org/showthread.php?t=80655 DocumentacionoficialparaconfigurarSpringSecurityparaquesoporteOpenID http://static.springsource.org/spring-security/site/docs/2.0.x/reference/ns-config.html#ns-openid AutenticacionOpenIDusando Spring Security http://blog.fredvos.org/2008/10/openid-authentication-with-spring.html Tutorial de configuracion de OpenID con Spring Security en un proyecto Grails http://www.gruposp2p.org/wordpress/?p=225 Unasconfiguracionesinteresantes http://blog.jotadeveloper.com/2009/06/23/spring-security-2-la-configuracion-a-la-medida-con-dao-hibernate-iv/ Todoslassubetiquetas de <openid-login> http://static.springsource.org/spring-security/site/docs/3.0.x/reference/appendix-namespace.html#nsa-openid-login
  • 22. Proceso de Investigación (11) Spring Security OpenID con Google (Ejemplo) http://code.google.com/p/spring-security-openid/downloads/detail?name=spring-security-openid-google.zip Tutorial Oficinal OpenID4Java http://code.google.com/p/openid4java/ *Configurando un LDAP en Apffuse http://appfuse.org/display/APF/LDAP+Authentication#LDAPAuthentication-appfuse1xx
  • 23. Proceso de Investigación () A partir de ahoradetallolasconfiguraciones y cosasque he aprendidoacerca de comohabilitar el soporteparaOpenID en Spring parapoderutilizarlo en Appfuse 1.9.4: