Help > Forum > Integrazione del sito web > Single Sign-On - Autenticazione basata su token
Single Sign-On - Autenticazione basata su token
Se stai usando WordPress, usa il nostro Plugin per WordPress.
Possiamo farlo per te - Vai alla Impostazioni Single Sign-On e seleziona il tuo costruttore di siti web per chiedere al nostro team di sviluppo di integrare SSO per te, a partire da soli $199.
Supportiamo anche il Single Sign-On utilizzando SAML, OAuth 2, LDAP, SQL e OpenID.
Puoi utilizzare l'API Single Sign On (SSO) per registrare automaticamente i tuoi visitatori nel tuo forum. Questo può essere utile se hai un'area di accesso separata sul tuo sito web e non vuoi che i tuoi visitatori accedano due volte.
L'API SSO consente di effettuare una richiesta API per ottenere un token di accesso per un utente e quindi includerlo nell'indirizzo del forum per accedere l'utente.
Segui le istruzioni riportate di seguito per integrare l'API SSO nel tuo sito web:
-
Fai una richiesta per un token di accesso
Nello script di accesso per il tuo sito web, crea Richiesta HTTP all'URL di accesso dell'API SSO:https://FORUM_DOMAIN/register/setauthtoken?type=json&apikey=APIKEY&user=USERSostituisci APIKEY con la chiave API recuperata nel passaggio 1.Sostituisci USER con il nome utente dell'utente del forum a cui desideri accedere. Se il tuo sito web non utilizza nomi utente, puoi usa un indirizzo email come nome utente.
Puoi opzionalmente includere un &email=EMAIL parametro se desideri che l'account del forum venga creato automaticamente nei casi in cui l'account del forum specificato non esiste già. Ti consigliamo di includere il parametro email. (Sostituisci EMAIL con l'indirizzo email dell'utente.)
Puoi anche opzionalmente specificare altre informazioni sull'account, ad esempio il nome completo dell'utente (parametro «nome»), l'avatar (parametro «avatar») e altro. I parametri aggiuntivi devono essere codificati in URL.
Se utilizzi PHP, ti consigliamo vivamente di utilizzare il nostro Libreria PHP SSO. Contiene un file con tutto il codice della libreria di cui avrai bisogno e altri file con esempi di utilizzo.
-
Ottieni il token dalla risposta
Analizza il JSON restituito dalla richiesta HTTP per ottenere il token di autenticazione e l'ID utente, quindi memorizzalo in un cookie o nel tuo database. Il token di autenticazione scade dopo 6 mesi o subito dopo essere stato utilizzato per garantire un elevato livello di sicurezza. La risposta JSON sarà simile a questa:{ "authtoken": "88SngRVArwrsZ053lfrqL", "userid": 424764 }Se si verifica un errore, verrà visualizzato un JSON simile al JSON seguente anziché la normale risposta JSON:
{ "message": "The error message will be here." } -
Effettua il login dell'utente con il token
Passa il token di autenticazione nel link del forum sul tuo sito web. Ad esempio:<a href="https://FORUM_DOMAIN/?authtoken=AUTHTOKEN&remember=REMEMBER">Forum</a>Sostituisci AUTHTOKEN con il token di autenticazione recuperato nei passaggi precedenti. Sostituisci REMEMBER con 1 se desideri mantenere l'utente connesso anche dopo la chiusura del browser o escluderlo se desideri che l'utente venga disconnesso alla fine della sessione del browser.
Se stai utilizzando il codice di incorporamento, puoi passare il token di autenticazione alla pagina in cui è incorporato il forum o all'interno del src attributo del codice di incorporamento. Ad esempio:
<!--Begin Website Toolbox Forum Embed Code-->
<div id="wtEmbedCode"><script type="text/javascript" id="embedded_forum" src="https://FORUM_DOMAIN/js/mb/embed.js?authtoken=AUTHTOKEN&remember=REMEMBER"></script> <noscript><a href="https://FORUM_DOMAIN">Forum</a></noscript></div>
<!--End Website Toolbox Forum Embed Code-->In alternativa, se non desideri passare il token di autenticazione nell'indirizzo del forum, puoi aggiungere il seguente tag HTML IMG alla tua pagina di destinazione «accesso riuscito»:
<img src="//FORUM_DOMAIN/register/dologin?authtoken=AUTHTOKEN&remember=REMEMBER" border="0" width="1" height="1" alt="">A causa del blocco dei cookie di terze parti nel browser Safari, l'approccio ai tag IMG non funzionerà in Safari a meno che tu non lo abbia hai collegato il tuo dominio al tuo forum.
-
Disconnetti l'utente con il token
Dopo che un utente si è disconnesso dal tuo sito web, reindirizzalo al seguente indirizzo per disconnetterlo anche dal forum:
https://FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN&redirect=REDIRECT_URLSostituisci REDIRECT_URL con l'indirizzo del sito Web codificato nell'URL a cui desideri inviare l'utente dopo che è stato disconnesso dal forum. Sostituisci AUTHTOKEN con il token di autenticazione recuperato nei passaggi precedenti. Se utilizzato per la disconnessione, un token è valido per 6 mesi anche se è già stato utilizzato per accedere un utente. Una volta utilizzato per disconnettere un utente, il token scade immediatamente.
In alternativa, se non desideri reindirizzare l'utente, puoi aggiungere il seguente tag HTML IMG alla pagina di destinazione «disconnessione riuscita» del tuo sito web:
<img src="//FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">A causa del blocco dei cookie di terze parti nel browser Safari, l'approccio ai tag IMG non funzionerà in Safari a meno che tu non lo abbia hai collegato il tuo dominio al tuo forum.
-
Fai in modo che il tuo forum utilizzi la pagina di accesso del tuo sito web
Nel Impostazioni -> Single Sign-On sezione del tuo account Website Toolbox, specifica l'indirizzo del tuo sito web Pagina di accesso per garantire che tutti gli accessi al forum avvengano utilizzando il modulo di accesso del tuo sito web.
Quando indirizziamo un utente alla tua pagina di accesso, aggiungeremo un requestURI parametro dell'URL. Questo parametro riporterà il percorso della pagina (ad es. /categories) da cui ha avuto origine l'utente. In questo modo, dopo l'accesso, puoi rimandarli alla stessa pagina.
-
Fai in modo che il tuo forum utilizzi la pagina di disconnessione del tuo sito web
Facoltativamente, nel Impostazioni -> Single Sign-On sezione del tuo account Website Toolbox, specifica l'indirizzo del tuo sito web Pagina di disconnessione per garantire che agli utenti venga mostrata la pagina di disconnessione del tuo sito Web una volta che sono stati disconnessi dal forum.
Usa un dominio personalizzato e il nostro codice incorporato, API e webhook per creare un'integrazione ancora più profonda.
If you still need help, please contact us.