Descrizione
Versione attuale: 3.3.0
* Questo plugin fa uso dei plugins gratuiti
1. Nextend Social Login and Register
2. JWT Authentication for WP REST API oppure JWT Auth – WordPress JSON Web Token Authentication
NB: Per funzionare correttamente i due plugin (NSL e JWT) devono essere configurati correttamente come indicato nelle rispettive documentazioni.
Caratteristiche principali:
– Supporto al plugin JWT Auth – WordPress JSON Web Token Authentication
– Supporto provider apple, twitter, yahoo, wordpress, vk, paypal, linkedin, github, disqus, amazon, (solo con NSL Pro)
Attraverso un’estensione delle funzionalità dei plugin sopra indicati crea un sistema di social login tramite REST API.
Di seguido le istruzioni per usare il login nativo:
Nelle schermate si fa riferimento a delle richieste REST tramite del software POSTMAN
Richiesta di login nativo:
in questo caso l’endpoint è quello fornito dal plugin JWT.
Si otterrà come risposta un json contenente un token, la mail utente e il nome utente.
Il token potrà essere usato per eventuali richieste protette.
In caso di richieste protette si dovrà impostare negli Headers.
Authorization: Bearer [token]
come spiegato nella documentazione del plugin JWT
Facebook social login:
Facebook token di accesso: vedi documentazione
BODY payload:
{"access_token":"xxxxxxxxx","token_type":"bearer","expires_in":5183946}
oltre ai parametri sopra indicati va aggiunta la mail ( * se l’utente ne ha abilitato l’accesso ), quindi diventa:
{"access_token":"xxxxxxxxx","token_type":"bearer","expires_in":5183946,"email":"facebook_email@domain.com"}
(*) nel caso in cui la mail non è presente l’utente verrà registrato senza email.
Google social login:
Google token: Per ottenere il token google clicca qui.
BODY payload:
{"access_token":"xxxxxxxxx","expires_in":3600,"id_token":"xxxxxxxxx","token_type":"Bearer"}
oltre ai parametri sopra indicati va aggiunta la mail ( * se l’utente ne ha abilitato l’accesso ), quindi diventa:
{"access_token":"xxxxxxxxx","expires_in":3600,"id_token":"xxxxxxxxx","token_type":"Bearer","email":"google_email@gmail.com"}
(*) nel caso in cui la mail non è presente l’utente verrà registrato senza email.
Risposta della richiesta di login:
La risposta della richiesta di social login sarà identica a quella del login nativo.
Anche in questo caso il token potrà essere usato per eventuali richieste protette.
Eventuali controlli per richieste non protette da JWT potranno essere fatti tramite il filtro
$noAuth = apply_filters('sl_extended_no_auth_request', $noAuth, $request, $_SERVER['REQUEST_URI'], $_SERVER['REQUEST_METHOD']);
nel metodo checkNoAuthRequest() della classe RestApi
Decodifica del token:
Tramite questo endpoint è possibile decodificare il token e recuperare l’id dell’utente
Endpoint:
/wp-json/api/v1/decode
BODY payload:
{"token": "xxxxxxxxx"}
esempio della risposta:
{"iss": "http://your-domain.com/", "iat": 1592299118, "nbf": 1592299118, "exp": 1592903918, "data": { "user": { "id": 6 } } }
soumeraymen (proprietario verificato) –
Great plugin , saved me a lot of time now i can connect my wordpress blog with my android app and provide social login for users , it’s very simple to use and offers token that i need to make users add comments, post and update their profiles .
Thank you a lot
Ryon Whyte (proprietario verificato) –
Much thanks to Alfio’s plugin we are able to get NSL to work over rest API. Thank you very much for the great support also!
Alessandro Ghizzardi –
This plugin does his job of abstracting calls to the NLS plugin via REST API very well. Also, great support fo Alfio every time we had a concern. Thanks!