gradido/docu/login_server.api.md
2021-02-22 13:08:11 +01:00

3.0 KiB

login server api

Gradido js-Frontend vereinfachte Zusammenarbeit mit Login-Server und Community-Server

Es ist mit einer Zusatz-Option möglich das Login und Registrieren via ajax-Request passiern kann. Dafür muss in der Login-Server Config

unsecure.allow_passwort_via_json_request   = 1 

gesetzt sein.

mit:

unsercure.allow_cors_all = 1

Wird bei allen JSON-Requests zum Header: Access-Control-Allow-Origin:* hinzugefügt.

In diesen Beispielen gehe ich jetzt davon aus, das du das gesamte Gradido Projekt mit Docker gebaut hast und auf dem lokalen Rechner laufen lässt.

Login Einloggen über:

unsecureLogin

POST http://localhost/login_api/unsecureLogin

data: {"email": "max.musterman@gmail.de", "password": "123abcDE&"}

Wenn alles okay ist erhältst du zum Beispiel:

{"state":"success", "session_id": -127182, "clientIP":"52.68.96.58",
  "user": {
	"created": 1293872400,
	"disabled": false, 
	"email": "max.musterman@gmail.de",
	"email_checked": true,
	"first_name": "Max",
	"group_alias": "gdd1",
	"ident_hash": 1829912,
	"public_hex": "c6e7d6a697fa74d6c247580edf1546989d43487575e21e398abe3cc2094bd63e",
	"last_name": "Musterman",
	"role": "none",
	"username": "",
	"balance": 174500,
	"id": 1,
	"errorCount": 0
}}
  • clientIP: should be the same as where the js-client is running, else maybe a man-in-the-middle attacks is happening or nginx was wrong configured.
  • session_id: can be also negative
  • created: unix timestamp in seconds
  • disabled: if set to true, login and every transaction must fail. Currently used if use would like to have there account deleted.
  • email_checked: true if user has already clicked on email verification code link in his emails, needed for tranactions
  • ident_hash: string hash from email, used for speed up creation validation
  • public_hex: hexadecimal representation of 32 Byte public key of user [0-9a-f]
  • role: not intended for future use, just ignore, login-server admin will be independently from community-server admin
  • username: for later use
  • balance: Gradido Cent, 4 Nachkommastellen (2 Reserve), 174500 = 17,45 GDD
  • id: login-server user id, only needed for debugging
  • errorCount: errors occured in this session, should be normally 0

Anmelden Registrieren kannst du einen neuen Benutzer mit:

createUser

POST http://localhost/login_api/createUser

data: {"email":"max.musterman@gmail.de", "first_name":"Max", "last_name":"Musterman" ,
          "emailType": 2, "password":"123abcDE&"}
  • emailType: control email-text sended with email verification code
    • 2: default, if user has registered directly
    • 5: if user was registered by an admin

Wenn alles okay ist erhältst du:

{"state":"success"}

Dann wurde für den Benutzer ein neues Konto angelegt, seine Schlüssel generiert und ihm eine Bestätigungs-Email geschickt.

Logout

Abmelden POST http://localhost/login_api/logout

data: {"session_id": -127182}

Wenn alles okay ist erhältst du:

{"state":"success"}