Single Sign On

Login URL

https://admin.c-learning.com/sso/login?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=openid%20email&response_type=code&state=STATE

Parameter

scope - openid email

response_type - code

state - String der ohne Relevanz für den Login durchgeschleift wird, siehe unten bei Erklärung Parameter

 

URL Parameter, die an REDIRECT_URI übergeben werden

code - Token für Get Token, siehe API

state - siehe oben bei Parameter

 

API

URL

https://api.c-learning.de/v1

 

Get Token

Endpunkt: /sso/authTokens

Parameter (JSON encoded): code, redirect_uri, grant_type (authorization_code)

Rückgabe: JSON Objekt mit id_token, access_token und refresh_token (für Login irrelevant)

Siehe auch die API Dokumentation unter SSO:

 

https://www.dropbox.com/s/melb9it7rpveoov/221003_Christiani_API.zip?dl=0

 

Erklärung Parameter

CLIENT_ID - muss für jede Domain erzeugt werden

REDIRECT_URI - URL auf die Seite, auf die nach dem Login geleitet und die Tokens über die API erzeugt werden

STATE - beliebiger String, der beim Aufruf der REDIRECT_URI mitgeliefert wird und anhand dessen überprüft werden kann, ob die Rückgabe direkte Folge des Aufrufs ist

ACCESS_TOKEN - wird bei Get Token zurückgeliefert

ID_TOKEN - Base64 codierte Userdaten, unter anderem wird hier die User Id für User Login geliefert

 

Die REDIRECT_URI muss mit der Domain des Servers, auf dem das SSO konfiguriert wird, freigeschaltet werden. Wenn sich die REDIRECT_URI ändert, muss dies mitgeteilt werden, sonst funktioniert das SSO nicht mehr.

Mit dem ACCESS_TOKEN kann nun die API genutzt werden:

https://www.dropbox.com/s/melb9it7rpveoov/221003_Christiani_API.zip?dl=0