Autenticación para una aplicación Vaadin usando OpenID - dificultad para manejar redirecciones

Estoy tratando de autenticar mi aplicación Vaadin con OpenID y tengo dificultades para manejar los redireccionamientos en la aplicación.

  1. Al cargar la aplicación, a los usuarios se les presenta una utilidad de inicio de sesión OpenID que es una simple ventana de Vaadin con algunos botones que activan redirecciones a un servlet de autenticación separado (LoginServlet)

  2. LoginServlet luego maneja la redirección al proveedor de OpenID y la redirección posterior al servlet, que maneja la respuesta de autenticación. El estado de seguridad se actualiza aquí (usando Apache Shiro) que la aplicación Vaadin puede verificar más adelante.

  3. LoginServlet luego redirige a la aplicación, sin embargo, aquí es donde radica el problema: ¿cómo manejar esta redirección? La ventana de Vaadin parece no tener ningún método de manejo de redireccionamientos.

Actualmente, la única opción parece ser utilizar UriFragmentUtility.FragmentChangedListener y garantizar que la redirección desde LoginServlet sea única mediante un UUID que garantiza que se active el evento de cambio de fragmento, lo que permite verificar el estado de autenticación del usuario y permitir el acceso a la aplicación. Sin embargo, esto es algo así como un truco y conduce a un fragmento URIF desordenado.

Si alguien tiene mejores ideas sobre la integración de OpenID y Vaadin o simplemente maneja las redirecciones en Vaadin, estaría muy agradecido.

Respuesta 1

¿Ha notado que Leif Åstrand ha creado un complemento de integración Vaadin OpenId en el directorio? ¿Podría esto hacer el trabajo por ti?

Respuesta: 2

¿Cuál es la forma más efectiva de escribir esta consulta sql en HQL? Seleccione uar. *, (A.default_user_asset_role_id no es nulo) como is_default de User_asset_role uar dejó la cuenta de unión externa a en un ...

Estoy ejecutando este código: // doc = Jsoup.connect (data [0] .getURL ()). Get (); Documento doc = Jsoup.connect (url) .post (); y obtengo una excepción de falta de memoria. Obviamente el ...

Okay. Se supone que debo escribir un programa para tomar un archivo de 20 GB como entrada con 1,000,000,000 de registros y crear algún tipo de índice para un acceso más rápido. Básicamente he decidido dividir los registros de 1 bil ...

¿Existe una herramienta para crear la clase DBManager para bases de datos simples en SQL? Quiero usarlo junto con netbeans. Estoy trabajando en un proyecto simple de minería de datos de tareas. Pero estoy harto de escribir ...