Otra vez molestando… esta vez OpenId en Mapuche.
Necesitaría sacarme algunas dudas acerca de OpenId.
En un principio les comento que me estoy amigando con el foro (asique perdonden si estoy creando entradas done no debo o algo así) y lei lo que encontre acerca del tema tanto como las notas de Toba. Me sirvió lo de la gente de Cordoba pero tengo muchas dudas.
Por ejemplo, usando google:
si pongo en openid.ini
campo_usuario = nombre
y ya tengo creado mi usuario 'Lucas ’ en toba (y su contraseña que supongo que no interesa), al loguearme en google me devuelve a la pantalla de login y muestra un alert con el mensaje:
La combinación usuario/clave es incorrecta
y el log de Mapuche (sistema.log) me dice:
[ERROR][toba] El usuario 'Lucas' ingreso una clave incorrecta
No se si sirve de algo pero si imprimo lo que viene como $clave en la función autenticar de toba_autenticacion_openid.php me muestra:
te hago una consulta sobre el archivo openid.ini, como esta el flag crear_usuario?.
Por otro lado, el usuario OpenId incluye el provider… no es lo mismo Lucas@yahoo, que Lucas@gmail… son dos usuarios diferentes, asi que aunque tengas un usuario Lucas en la instancia, ese usuario no sirve para nada en este caso.
Por otra parte, la clave que pones vos en el form… la utiliza el provider para verificar quien sos… toba no usa esa clave, sino el identity que devuelve el provider… al final termina siendo una mera formalidad pero sirve para verificar de paso que existe tu usuario.
Mapuche tiene alguna subclase propia para la autenticacion de usuarios?.. esto seria una subclase de toba_usuario_basico… quizas ahi este el meollo de la cuestion, aunque si se respetan los metodos de hasheo no deberia haber inconvenientes.
te hago una consulta sobre el archivo openid.ini, como esta el flag crear_usuario?.
Los campos de crear usuarios no los estaba teniendo en cuenta, los deje comentados. ¿Como debería quedar si no quiero que cree usuarios? ¿En '0' o simplemente no incluir esos atributos?
el usuario OpenId incluye el provider.. no es lo mismo Lucas@yahoo, que Lucas@gmail..
¿Debe existir el usuario que me ejemplificas (lucas@gmail...) en [i]toba_usuarios[/i] o simplemente el [b]identificador [/b]que me retorna el provider? (el [i]campo_usuario[/i]; en mi ejemplo el nombre: Lucas) --> Este campo lo verifique y llega bien al Mapuche.
toba no usa esa clave, sino el identity que devuelve el provider..
;)
Mapuche tiene alguna subclase propia para la autenticacion de usuarios?
NO una subclase pero tenemos la clase [url=https://repositorio.siu.edu.ar/svn/mapuche/trunk/php/modelos/negocio/usuarios/usuario.php]usuarios[/url] que hace uso de la misma. Ademas, esta clase se usa para actualizar información del usuario pero no esta incluida en Mapuche producción.
Si ves algo para corregir te agradeceria que lo comentaras.
Saludos.
Si no queres que te cree el usuario pone el primero en cero y listo, tene en cuenta que en ese caso tenes que encargarte de que el usuario y clave correctas esten en la base de toba, sino no te vas a poder loguear por mas que el server de OpenId te habilite.
¿Debe existir el usuario que me ejemplificas (lucas@gmail...) en [i]toba_usuarios[/i] o simplemente el [b]identificador [/b]que me retorna el provider? (el [i]campo_usuario[/i]; en mi ejemplo el nombre: Lucas) --> Este campo lo verifique y llega bien al Mapuche.
Debe existir el valor del campo que vos seteaste como campo_usuario en openid.ini, por defecto va con ‘email’ si lo cambiaste a otro campo, entonces es el valor de ese otro campo.
NO una subclase pero tenemos la clase [url=https://repositorio.siu.edu.ar/svn/mapuche/trunk/php/modelos/negocio/usuarios/usuario.php]usuarios[/url] que hace uso de la misma. Ademas, esta clase se usa para actualizar información del usuario pero no esta incluida en Mapuche producción.
Si no participa de la autenticacion entonces no afecta, no entendi muy bien lo de “se usa para actualizar información del usuario pero no esta incluida en Mapuche producción”… si no esta en produccion, quien lo usa?.
Por otra parte, la clave que pones vos en el form.. la utiliza el provider para verificar quien sos.. toba no usa esa clave, sino el identity que devuelve el provider.. al final termina siendo una mera formalidad pero sirve para verificar de paso que existe tu usuario.
En realidad si y no, la comparacion se hace como parte del proceso de login interno de toba y sirve mayormente para verificar que el usuario existe en la instancia de toba. Ese proceso de login termina pasando por la autenticacion de toba_usuario_basico, que compara la clave… en tu caso el problema me parece que es que tu usuario ya existia de antes de pasar a OpenId, por lo que esta intentando comparar la clave vieja contra el identity que provee el servidor.
Por las dudas voy a aclarar que nosotros tenemos la revisión 6423 de Toba. No se si se hizo algún cambio.
Si hubo, de hecho salio la version 2.6.2 la semana pasada.