Tengo un sitio de wordpress y una aplicación de iphone para el mismo. Ambos tienen una base de datos común con diferentes tablas de usuarios.
1> mysite.com >> wp_user
2> aplicación para iPhone >> usuario_aplicación
lo que quiero es que el usuario de la aplicación pueda iniciar sesión en el sitio de WordPress. medio
1> el usuario del sitio solo puede iniciar sesión en el sitio
2> el usuario de la aplicación puede iniciar sesión en el sitio + aplicación para iPhone
¿Cómo puedo hacer que el usuario de la aplicación pueda iniciar sesión en el sitio?
Lo intenté depurando el script de inicio de sesión de WP, pero no puedo encontrar la forma correcta
Necesito ayuda de ustedes.
Gracias.
Syed Qarib
La funcionalidad requerida parece un poco complicada, puede haber más métodos posibles, pero el que recomendaré es:
-
Crear un formulario de inicio de sesión personalizado en el sitio de wordpress
-
Recupere el nombre de usuario y la contraseña y primero verifique si existen en su sitio o no. Si existen, simplemente inicie sesión (estos son usuarios del sitio)
wp_signon
El método se puede utilizar aquí. -
Si no son usuarios de wordpress, verifique si son usuarios de aplicaciones móviles usando
MySQL
y buscando en la tabla de aplicaciones móviles, si existe, recupere su información y regístrelos enWordPress
sitiowp_create_user
se puede usar para ello, puede agregar metadatos personalizados para que sepa que estos son usuarios de la aplicación. Después de registrarse, cree una sesión de inicio de sesión usandowp_signon
.
Le recomendaré que cree un complemento para esta tarea en wordpress.
¡Feliz codificación!
Puede usar la extensión de la API XML-RPC de WordPress para autenticar a su usuario de iPhone en wordpress. La explicación detallada y el código de trabajo básico se pueden encontrar en Ampliación de la API XML-RPC de WordPress (http://www.skyverge.com/blog/extendiendo-the-wordpress-xml-rpc-api/).
-
+1: ¡así es como funciona la aplicación oficial de WP para Android!
– Ese chico brasileño
31 de enero de 2014 a las 13:29
Recomendaría un complemento de inicio de sesión personalizado para lograr esto.
Puedes usar wp-renombrar complemento de inicio de sesión como punto de inicio para esto.
En este complemento, la parte de validación de credenciales de WP se maneja en el archivo rwl-login.php en la línea 449.
Del mismo modo, debe agregar un código para validar las credenciales móviles también en este caso de cambio. Si ha creado su código de acuerdo con los estándares de la aplicación móvil de WP, simplemente puede incluir el archivo de validación de inicio de sesión como se hace para la validación regular de WP en la línea 450
si no, haga su propia validación y redirija correctamente en ese caso. También puede hacer que su aplicación nativa registre el controlador de esa URL personalizada para que pueda capturar y manejar la redirección de manera adecuada.
Haga 2 grupos de usuarios, a saber:
- Usuario del sitio
- Usuario de la aplicación
Cuando el usuario intente iniciar sesión, verifique el grupo de usuarios al que pertenece y, en consecuencia, proporcione el acceso o muestre un mensaje de error.
Para realizar cambios en el usuario del sistema de inicio de sesión, el gancho de filtro “autenticar” o incluso mejor uso wp_authenticate
Pensando en voz alta: primero una confirmación del problema central:
Necesita un usuario para poder iniciar sesión en la aplicación de iOS y otorgar acceso al sitio de WP.
Consideración actual: en la aplicación iOS y wordpress, cree un hash de ID de usuario + contraseña + sal (o algo por el estilo). Use ese hash, enviado a través de la aplicación iOS a WP, para confirmar un usuario.
Sí, hay problemas de seguridad con respecto a esta información que se transmite por aire, al igual que su nombre de usuario y PW se transmitirían por aire.
Con un hash coincidente (use una tabla de búsqueda en WP, muy fácil), hay métodos en WP para forzar el inicio de sesión de un usuario (hecho eso, podría extraer ayudantes de código de mis archivos).
Problema: es necesario vincular el cambio de PW a la generación/actualización de hash. Hay ganchos de cambio de usuario en WP, muy solucionables.
Es bueno saberlo: casi todos los aspectos de la administración de usuarios, incluidos los permisos y los grupos, están disponibles a través de la API/el marco de trabajo de WP. Es posible (aunque no fácil) poner un cambio de PW en la aplicación de iOS que actualizará WP y mucho más.
Espero haberte ayudado, los mensajes son un poco confusos.
¿No puedes simplemente copiar el registro de app_user a wp_user?
– MitoThrazz
30 de enero de 2014 a las 15:46
@MythThrazz no es apropiado, porque tengo que hacerlo de la misma manera para cada app_user agregado
– Krunal Shah
03/02/2014 a las 10:55