Sostituisci utente WordPress con account Oauth2


10

Sto cercando di configurare WordPress come client OAuth2. Tutti i nostri utenti sono archiviati nel nostro CMS proprietario, che è un provider OAuth. Abbiamo pochissimi (a nessun) utenti nel nostro database WordPress, principalmente solo amministratori. Idealmente, non voglio archiviare i dati utente nel database WordPress perché avrei bisogno di mantenere in qualche modo lo stato su X numero di siti WordPress, mentre ho una fonte di verità nel nostro CMS proprietario.

Finora il mio progetto iniziale era quello di creare un plug-in che sovrascrivesse la funzionalità utente di WordPress esistente e memorizzasse un token di accesso OAuth e un utente uuid all'interno di un cookie o di una sessione. Ma ho bisogno che questo utente sia accessibile in altri plugin, quindi idealmente sovrascrivendo i metodi utente predefiniti di WordPress.

È un approccio accettabile? Oppure, sto cercando di lavorare con WordPress in un modo che non doveva funzionare?

Posso trovare tonnellate di plug-in per impostare WordPress come provider OAuth2, ma pochissimi come client. Detto questo, ne ho trovati alcuni che configurano WordPress come client, ma molti di essi sono specifici di Google Apps, Facebook, Twitter, ecc. Inoltre, queste app si basano sulla memorizzazione locale dei dati utente all'interno della tabella utenti di WordPress. Preferirei non farlo.

Grazie per qualsiasi aiuto!


Ciao Nick, benvenuto in WPSE. Sfortunatamente non posso aiutarti con l'effettivo problema a portata di mano, ma potresti per favore rimuovere l'intro (non molto rilevante per il problema) e forse aggiungere ciò che hai già provato, magari aggiungendo anche del codice. Questo rende più facile per tutti aiutare. Grazie!
Kraftner,

Grazie @kraftner per la risposta affrettata. Non ho scritto molto codice perché sto provando prima a fare un po 'di progettazione / ricerca e credo che stavo cercando un'affermazione con la mia idea. Tuttavia, sembra che dovrei ottenere una prova del concetto attivo e funzionante. Scusate se ho preso l'approccio sbagliato qui. Proverò a fare un po 'di lavoro e pubblicare post con problemi minori e alcuni esempi di lavoro.
Nick,

Non volevo farti arrabbiare, pensavo solo che, quando sei nuovo, ti direi che otterrai risposte migliori e più se la tua domanda è breve e focalizzata invece di raccontare una storia con informazioni irrilevanti.
Kraftner,

@kraftner non è affatto arrabbiato signore!
Nick,

Risposte:


1

Se riesci a continuare a ignorare solo le funzioni che si trovano in wp-Includes / pluggable.php, dovresti essere in grado di evitare qualsiasi tipo di conflitto di plug-in ... a meno che tu non stia utilizzando plug-in che hanno la precedenza sulle stesse funzioni collegabili.

Assicurati solo che le tue funzioni siano dichiarate prima di caricare i plug-in. I plug-in vengono caricati prima del file pluggables ... quindi se si definisce la funzione ha la precedenza su un plug-in, si può essere certi che siano caricati. Altrimenti, assicurati di usare un'azione precedente per farlo.

Ci sono alcune funzioni di autenticazione, cookie e relative all'utente per l'uso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.