Einen Benutzer anhand seiner Identity Provider 'external ID' finden

:bookmark: Diese Anleitung erklärt, wie Sie einen Discourse-Benutzer anhand seiner external_id aus einem Identitätsanbieter mithilfe von API-Aufrufen finden.

:person_raising_hand: Erforderliches Benutzerebene: Administrator

Wenn Sie ein externes Authentifizierungssystem verwenden, speichert Discourse zwei Benutzer-IDs: die Discourse user_id und eine external_id vom Identitätsanbieter. Wenn Sie einen Discourse-Benutzer anhand der external_id nachschlagen müssen, ist dieser #howto-Artikel genau das Richtige für Sie! Unten erfahren Sie, wie Sie diesen Vorgang durchführen.

API-Einrichtung

Stellen Sie zunächst sicher, dass Sie einen Admin-API-Schlüssel korrekt konfiguriert haben. Weitere Informationen zur Einrichtung und Verwendung der Discourse-API finden Sie in der Discourse API-Dokumentation.

DiscourseConnect

Wenn Sie DiscourseConnect (früher bekannt als Discourse SSO) verwenden, können Sie einen Benutzer mit dem folgenden API-Aufruf abrufen:

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

Ersetzen Sie {external-id} durch die tatsächliche externe ID des Benutzers, den Sie suchen. Wenn ein Benutzer gefunden wird, werden seine Informationen zurückgegeben. Andernfalls wird ein 404 zurückgegeben.

Anderer Authentifizierungsanbieter

Dies funktioniert für alle Kernmethoden sowie für Plugins, die das „ManagedAuthenticator“-Framework verwenden (einschließlich discourse-openid-connect und discourse-oauth2-basic).

Finden Sie zunächst den „Anbieternamen“ Ihres Authentifizierers. Dieser befindet sich normalerweise in der Callback-URL (z. B. wenn die Callback-URL /auth/oauth2_basic/callback lautet, dann ist der Anbietername oauth2_basic).

Anschließend können Sie einen Benutzer wie folgt abrufen:

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

Ersetzen Sie {provider} durch den tatsächlichen Anbieternamen und {external-id} durch die externe ID des Benutzers, den Sie suchen. Wenn ein Benutzer gefunden wird, werden seine Informationen zurückgegeben. Andernfalls wird ein 404 zurückgegeben.

Zusätzliche Ressourcen

15 „Gefällt mir“