API Zugriff / Login mit Just
Ihr könnt Just Social verwenden um für andere Anwendungen den Login zu übernehmen.
Just Social implementiert den OAuth Authorization Code Flow (siehe auth0 Docs) und agiert als Authorization Server.
Um einen externen Client zu registrieren müsst ihr euch an den Support wenden und uns eine redirect_uri mitteilen.
Ihr erhaltet von uns dann über einen verschlüsselten Kanal eine client_id, ein client_secret und zur Überprüfung für euch, dass wir nicht falsch copy&pasted haben, die redirect_uri, die wir in der Datenbank gespeichert haben.
Achtung: Diese Daten sind nur einmalig abrufbar! Bitte auch die redirect_uri zu Troubleshooting Zwecken speichern.
Damit könnt ihr euch dann wie folgt gegen eure Just Social Instanz authentifizieren:
-
POST https://${YOUR_JUST}/toro/oauth/authorize?response_type=code&client_id=${CLIENT_ID}&state=${RANDOM_NONCE}&scope=api&redirect_uri=${YOUR_REDIRECT_TARGET}">https://${YOUR_JUST}/toro/oauth/authorize?response_type=code&client_id=${CLIENT_ID}&state=${RANDOM_NONCE}&scope=api&redirect_uri=${YOUR_REDIRECT_TARGET}
Hinweis: ${YOUR_REDIRECT_TARGET} muss die exakte Url sein, die ihr uns zu beginn mitgeteilt habt!
- Euer Server bekommt dann nach erfolgreicher Authentifizierung des Users folgenden Request zurück:
GET ${YOUR_REDIRECT_TARGET}?code=${AUTH_CODE}&state=${NONCE}
-
POST https://${YOUR_JUST}/toro/oauth/token
mit folgenden Werten als application/x-www-form-urlencoded im Body:code=${AUTH_CODE}
Als Antwort erhaltet ihr ein JSON Objekt mit folgendem Inhalt
redirect_uri=${YOUR_REDIRECT_TARGET}
client_id=${CLIENT_ID}
client_secret=${CLIENT_SECRET}
{
"access_token":"${TOKEN}", // opaque/reference token
"token_type":"bearer",
"expires_in":nnn,
"scope":"api",
"profileId":"USER,ID"
}
Der erhaltene access_token, kann nun in nachfolgenden API Requests als Bearer Token im Authorization Header verwendet werden.
Die Basisdaten des eingeloggten Users können als JSON über den folgenden Endpunkt geladen werden:
GET https://${YOUR_JUST}/toro/api/v1/person/current
⚠ Achtung: Der access_token ist nicht scoped und erlaubt einer 3rd Party Anwendung vollen Zugriff auf die API Methoden der eigenen Just Social Plattform im Authorisierungskontext des eingeloggten Users.
Aufgrund hoher Nachfrage prüfen wir aktuell die Entwicklung einer Lösung zur reinen Authentifizierung mit Just Social als Identity Provider und Identity Tokens, die im Nachgang keinen API Zugriff ermöglichen.
Troubleshooting
400 - invalid_grant: Bitte prüft genau, ob ${YOUR_REDIRECT_TARGET} exakt mit dem String übereinstimmt, den ihr am Anfang als redirect_uri an unseren Support kommuniziert habt.
401 - invalid_client/Bad client credentials: client_secret und/oder client_id sind falsch, oder der Request Body ist falsch formatiert. Überprüfe die Credentials, stelle sicher, dass der Body application/x-www-form-urlencoded ist,
also wie ein Query String aussieht:"code=...&redirect_uri=http%3A%2F%2Flocalhost...".
Wir empfehlen Postman zum Testen. Über die Konsole kann man genau sehen wie die Daten formattiert sind, die hin- und hergehen.
Haftung & Support
Für Anbindungen/Integrationen von Drittsoftware an/in Just Social übernimmt Just Software keine Haftung und leistet keinen Support. Die hier gelisteten Methoden sind nicht stabil und können in der Zukunft Breaking Changes unterliegen, so dass die Anbindungen/Integrationen nicht mehr funktionieren.
Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.