Anular usuario de WordPress con cuenta Oauth2

10

Estoy tratando de configurar WordPress como un cliente OAuth2. Todos nuestros usuarios están almacenados en nuestro CMS propietario que es un proveedor de OAuth. Tenemos muy pocos (o ningún) usuarios en nuestra base de datos de WordPress, principalmente solo administradores. Idealmente, no quiero almacenar datos de usuario en la base de datos de WordPress porque de alguna manera necesitaría mantener el estado en X número de sitios de WordPress, mientras que tengo una fuente de verdad dentro de nuestro CMS patentado.

Mi diseño inicial de esto hasta ahora fue crear un complemento que anule la funcionalidad de usuario de WordPress existente y almacene un token de acceso OAuth y un uuid de usuario dentro de una cookie o sesión. Pero, necesito que este usuario sea accesible en otros complementos, por lo que idealmente anula los métodos de usuario predeterminados de WordPress.

¿Es este un enfoque aceptable? O, ¿estoy tratando de trabajar con WordPress de una manera que no está destinada a funcionar?

Puedo encontrar toneladas de complementos para configurar WordPress como proveedor de OAuth2, pero muy pocos como cliente. Dicho esto, he encontrado algunos que configuran WordPress como cliente, pero muchos de ellos son específicos de Google Apps, Facebook, Twitter, etc. Además, estas aplicaciones se basan en el almacenamiento local de datos de usuarios dentro de la tabla de usuarios de WordPress. Preferiría no hacerlo.

¡Gracias por cualquier ayuda!

Mella
fuente
Hola Nick, bienvenido a WPSE. Desafortunadamente, no puedo ayudarlo con el problema actual, pero podría eliminar la introducción (no es realmente relevante para el problema) y tal vez agregar lo que ya ha intentado, tal vez incluso agregar algún código. Esto facilita que todos puedan ayudar. ¡Gracias!
kraftner
Gracias @kraftner por la respuesta apresurada. No he escrito mucho código porque primero estoy tratando de hacer un diseño / investigación y creo que estaba buscando afirmación con mi idea. Sin embargo, parece que debería obtener una prueba de concepto en funcionamiento. Lo siento si tomé el enfoque equivocado aquí. Intentaré hacer algo de trabajo y publicar con problemas más pequeños y algunos ejemplos de trabajo.
Nick
No quería molestarte, realmente pensé que, como eres nuevo, te diría que obtendrás más y mejores respuestas si tu pregunta es breve y centrada en lugar de contar una historia con información irrelevante.
kraftner
@kraftner no está molesto en absoluto señor!
Nick

Respuestas:

1

Si puede apegarse a anular solo las funciones que se encuentran en wp-includes / pluggable.php, entonces debería poder evitar cualquier tipo de conflicto de complementos ... a menos que esté utilizando complementos que anulen las mismas funciones conectables.

Solo asegúrese de declarar sus funciones antes de cargar los pluggables. Los complementos se cargan antes del archivo de complementos ... así que si define que su función anula en un complemento, entonces puede estar seguro de que están cargados. De lo contrario, solo asegúrese de utilizar una acción anterior para hacerlo.

Hay bastantes funciones relacionadas con la autenticación, las cookies y el usuario para su uso.

Corsario
fuente