Trovare un utente tramite il suo 'external ID' dell'identity provider

:bookmark: Questa guida spiega come trovare un utente di Discourse basandosi sul suo external_id da un identity provider utilizzando chiamate API.

:person_raising_hand: Livello utente richiesto: Amministratore

Quando si utilizza un sistema di autenticazione esterno, Discourse tiene traccia di due ID utente: l’user_id di Discourse e un external_id proveniente dall’identity provider. Se hai bisogno di cercare un utente di Discourse basandoti sull’external_id, questo articolo howto è quello che fa per te! Di seguito, imparerai come eseguire questa operazione.

Configurazione API

Innanzitutto, assicurati di aver configurato correttamente una chiave API amministratore. Per maggiori informazioni sulla configurazione e sull’utilizzo dell’API di Discourse, consulta la documentazione dell’API di Discourse.

DiscourseConnect

Se stai utilizzando DiscourseConnect (precedentemente noto come Discourse SSO), puoi recuperare un utente con la seguente chiamata API:

curl https://myforum.example.com/u/by-external/{external-id}.json \
     -H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \
     -H "Api-Username: discourse1"

Sostituisci {external-id} con l’ID esterno effettivo dell’utente che stai cercando. Se viene trovato un utente, verranno restituite le sue informazioni. In caso contrario, verrà restituito un 404.

Altro Provider di Autenticazione

Questo funziona per tutti i metodi principali, così come per i plugin che utilizzano il framework “ManagedAuthenticator” (inclusi discourse-openid-connect e discourse-oauth2-basic).

Per prima cosa, trova il ‘nome del provider’ del tuo autenticatore. Questo è normalmente contenuto nell’URL di callback (ad esempio, se l’URL di callback è /auth/oauth2_basic/callback, allora il nome del provider è oauth2_basic).

Quindi puoi recuperare un utente in questo modo:

curl https://myforum.example.com/u/by-external/{provider}/{external-id}.json \
     -H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \
     -H "Api-Username: discourse1"

Sostituisci {provider} con il nome effettivo del provider e {external-id} con l’ID esterno dell’utente che stai cercando. Se viene trovato un utente, verranno restituite le sue informazioni. In caso contrario, verrà restituito un 404.

Risorse Aggiuntive

15 Mi Piace