Pregunta

Actualmente estoy planeando un nuevo proyecto web. Los clientes se conectarán usando un navegador web normal y, en el caso de teléfonos celulares habilitados para Java, el cliente j2me. Realmente me gustaría hacer uso de la autenticación OpenID. En el caso del navegador web normal, las cosas son bastante sencillas. Sin embargo, realmente no estoy seguro acerca de las aplicaciones instaladas (como el cliente j2me instalado en un dispositivo móvil): la autenticación regular de OpenID se realiza ingresando el nombre de usuario / contraseña en una página web de un proveedor particular de OpenID, lo cual es una limitación:)

¿Alguien ha enfrentado tal situación? ¿Es posible crear un mecanismo de autenticación para el sitio que usa OpenID desde un cliente j2me móvil?

Actualmente, pienso en la solución de que los usuarios que deseen conectarse desde sus móviles descarguen la aplicación j2me necesaria del sitio web del servidor después de haberse autenticado (autenticación de navegador regular). La aplicación de cliente móvil podría ensamblarse dinámicamente en el servidor con el certificado SSL incrustado que está asociado con un usuario de OpenID conectado en particular. Después de eso, el cliente j2me podría autenticarse en el servidor sin ingresar ningún nombre de usuario / contraseña. Los datos que se almacenarán en el servidor no son TAN sensibles, considerando casos de robo de teléfonos móviles, etc.

¿Alguien puede encontrar una solución mejor?

¿Fue útil?

Solución

La mejor solución IMO para lo que estás haciendo es usar OAuth combinado con OpenID. Estás usando OpenID en el RP está bien. Pero para las aplicaciones instaladas que necesitan acceso a ese sitio web, deben usar OAuth para obtener la autorización. El flujo funcionaría así:

  1. El usuario instala la aplicación en su dispositivo
  2. Durante la instalación o el primer inicio, la aplicación tiene un " Autorizarme " botón.
  3. El usuario presiona el botón y un navegador web abre el sitio web desde el cual la aplicación cliente necesita acceder a los datos.
  4. El usuario inicia sesión en ese sitio utilizando su OpenID
  5. El sitio ahora pregunta "¿desea autorizar la aplicación cliente X?"
  6. El usuario dice que sí y cierra el navegador.
  7. La aplicación del cliente vuelve a aparecer y dice "gracias". y ahora tiene el token OAuth necesario para acceder a los datos del usuario sin que el usuario vuelva a iniciar sesión.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top