Sto per iniziare a lavorare su un prototipo per un client e una delle funzionalità richieste è l'integrazione con un sistema di autenticazione / registrazione dell'utente interno.
Questo sistema fungerà da database utente autorevole e fornirà un'interfaccia RESTful per la creazione di nuovi utenti e l'autenticazione di utenti validi.
Devo essere in grado di creare nuovi utenti in WP e come parte di tale processo effettuare una chiamata all'API di autenticazione esterna per creare / convalidare quell'utente.
Una persona che è un utente valido ma non noto a WP dovrebbe essere in grado di accedere per commentare, senza la necessità di registrarsi sul sito WP stesso.
Anche una persona che ha effettuato l'accesso al sito Web generale dovrebbe accedere automaticamente a WordPress.
Penso che la seguente sia la strada da percorrere.
Per (1) - esiste un hook di registrazione che posso usare?
Per (2) - Suppongo di aver agganciato il filtro di autenticazione, ad esempio quando qualcuno tenta di accedere, lo intrappolo, faccio una chiamata al sistema esterno e quindi elaboro il login WP o li reindirizzo al processo di registrazione dove ( 1) prende oer.
Per (3) - leggi il cookie di accesso impostato dal sito principale e procedi con (2)?
Immagino che dovrò anche inserire un record nella tabella degli utenti e usermeta.
Quindi, ha senso quanto sopra: non ho pensato a qualcosa. Chiunque ha avuto buone risorse per aiutare con questo (@hakre - ho visto che hai fatto un po 'di lavoro su questo !!).
Aggiornare
Quindi sto ancora sbattendo la testa un po 'contro questo, essenzialmente sto provando ad agganciarmi al filtro di autenticazione, e usando quello per:
- controlla se è impostato un cookie di accesso per il sito "principale" e, se lo è, riconvalida rispetto alla loro API di autenticazione e, se valido, forza un accesso WP con
wp_signon()
, utilizzando le informazioni contenute nel cookie del sito principale (e-mail e password con hash) come credenziali per WP - se il cookie non è impostato, reindirizzare alla pagina di accesso al sito principale e ottenere un accesso / registrazione, quindi tornare al passaggio 1
- se non esiste un utente WP quando esiste un utente del sito principale autenticato, crearlo e quindi un accesso "trasparente" (ovvero l'utente non vede un modulo di accesso WP)
Fondamentalmente, voglio nascondere il modulo di accesso WP interamente per gli utenti che stanno solo commentando e in seguito troveranno un modo per consentire ad autori e amministratori di accedervi direttamente.
Sta andando abbastanza lentamente, ecco cosa potrei usare un aiuto con:
il filtro di autenticazione è quello giusto da usare? Non sembra essere chiamato in tutte le situazioni che mi aspetto - ad es. Il meta widget mostra i collegamenti di accesso / disconnessione senza l'autenticazione hook hooking
posso ottenere la
wp_signon()
restituzione di unWP_User
oggetto (che indica il successo), ma ciò non influisce sullo stato di accesso, ovvero il meta widget mostrerebbe comunque "Accesso" anche dopo l'aggiornamento.
Qualsiasi aiuto ricevuto con gratitudine :)