Skip to content

MitarbeiterWebservice - Authentifizierung

Allgemein

Die Authentifizierung wird durch einen TokenService verwaltet. Die Parameter werden Ausschließlich über HTTP-Header ausgetauscht. Der Service bietet die Möglichkeit:

  • Sich als Client zu Registrieren createClient
  • Sich anhand der Zugangsdaten des Mitarbeiters einen Token zu erzeugen createToken
  • Einen Erzeugten Token inkl. des dazugehörigen Client's zu löschen deleteToken

URL

https://www.maklerinfo.biz/service/employee/${version}/rest

Funktionsübersicht

Funktion HTTP Beschreibung
createClient POST ${pfad-sts}/STS/clients Erzeugt eine neue Client-ID
createToken POST ${pfad-sts}/STS/tokens Erzeugt einen Authentifizierungstoken
deleteToken DELETE ${pfad-sts}/STS/tokens

createClient

Eingabe

Name Datentyp Beschreibung
Timestamp DateTime Der Zeitstempel zu dem die Anfrage erzeugt wurde.
☛ Sollte sich das Gerät in einer anderen Zeitzone befinden, geben Sie diese an!
Uid string Falls der Consumer direkt beim Mitarbeiter ausgeführt wird (zB. PC, Smartphone..) ist hier die Geräte UID anzugeben, falls es sich um einen Webauftritt handelt, die Domain von welcher sich der Mitarbeiter anmelden möchte
User-Agent string Falls es sich einen Webauftritt handelt, ist hier der vom Browser übersendete User-Agent-Header anzugeben, sonst ein JSON-Kodiertes Objekt mit den Eigenschaften wie weiter unten Beschrieben
Nonce string SHA-1 Hash aus Uid & Timestamp. Falls der Hash nicht nachgebildet werden kann wird die Anfrage abgewiesen sha1(uid + timestamp)
Ip string Die IP des Clients
☛ Nur bei einem Webauftritt

Rückgabe

Name Datentyp Beschreibung
Id string Die Id des Clients welche bei jedem Aufruf mitzusenden ist
Random string Eine kleine zufällige Zeichenkette welche bei weiteren Anfrage benötigt wird um die Nonce zu erzeugen
Session string Die Session-Id
☛ Nur bei einem Webauftritt

Beispiel App

Request:

POST ${pfad-sts}/STS/clients HTTP/1.1
Host: www.maklerinfo.biz
X-Dio-User-Agent: {"type":"app","plattform":"Android","name":"Meine App","version":"1.0.3"}
X-Dio-Timestamp: 2017-01-20T10:12:24
X-Dio-Uid: 6f9716e4-def0-11e6-bf01-fe55135034f3
X-Dio-Nonce: e8d52dadcbd8279e31ea44f505ee8ea9c633ef49
Content-Length: 0
Connection: close

Response:

HTTP/1.1 200 OK
X-Dio-Id: d85b9aea54df186a14fbd2b137998 ... 5b7c3bd7c5b9f28a20c058
X-Dio-Random: 9T7W3
Connection: close

Beispiel Webauftritt

Request:
POST ${pfad-sts}/STS/clients HTTP/1.1
Host: www.maklerinfo.biz
X-Dio-Timestamp: 2017-01-20T10:23:56
X-Dio-Uid: www.example.com
X-Dio-User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:50.0) Gecko/20100101 Firefox/50
X-Dio-Ip: 127.0.0.1
X-Dio-Nonce: a1870f8240859a141bbc59ab8435bcf89a69330f
Connection: close

Response:

HTTP/1.1 200 OK
X-Dio-Id: 49ea964fd1b497b8813fe ... 14af9b083b2f7ce6ce93
X-Dio-Random: D0KLn
X-Dio-Session: 52C24844-E152-3065-FD9D-B5832E80939
Connection: close

createToken

Eingabe

Name Datentyp Beschreibung
Timestamp DateTime Der Zeitstempel zu dem die Anfrage erzeugt wurde.
☛ Sollte sich das Gerät in einer anderen Zeitzone befinden, geben Sie diese an!
Uid string Falls der Consumer direkt beim Mitarbeiter ausgeführt wird (zB. PC, Smartphone..) ist hier die Geräte UID anzugeben, falls es sich um einen Webauftritt handelt, die Domain von welcher sich der Mitarbeiter anmelden möchte
Client string Die von createClient zurückgelieferte Id
Nonce string SHA-1 Hash aus Uid & Timestamp & Random. Falls der Hash nicht nachgebildet werden kann wird die Anfrage abgewiesen sha1(uid + timestamp + client.random)
Username string Benutzername
Password string Das Passwort des Mitarbeiters
User-Agent string User-Agent des Browser s. createClient
**☛ Nur bei einem Webauftritt**
Session string die von createClient zurückgelieferte Session-Id
**☛ Nur bei einem Webauftritt**
Ip string Ip des Clients.
**☛ Nur bei einem Webauftritt**

Rückgabe

Name Datentyp Beschreibung
Token string Der Token welcher fortan zu Authentifizierung gilt
Uri string Der Pfad zum Mitarbeiterverzeichnis
Mandant string
Session string Die Session-Id, diese kann sich von der von createClient gelieferten Id unterscheiden und ist durch diese zu ersetzten
☛ Nur bei einem Webauftritt

Beispiel App

Request:

POST ${pfad-sts}/STS/tokens HTTP/1.1
Host: www.maklerinfo.biz
X-Dio-Client: 1cca67bd9c6d3237186 ... d91b7ada36fa7100459bec6e0d69d4eb7
X-Dio-Timestamp: 2017-01-20T10:12:24
X-Dio-Uid: 6f9716e4-def0-11e6-bf01-fe55135034f3
X-Dio-Nonce: 6ebfb57217426c052d2b56044e6fb6b9c5854e29
X-Dio-Username: Benutzername
X-Dio-Password: Passwort
Content-Length: 0
Connection: close

Response:

HTTP/1.1 200 OK
X-Dio-Token: f62e9310677fc47a3c ... d8c0ef72990ad34d711e2
X-Dio-Uri: ${pfad}/${ma}
Connection: close

Beispiel Webauftritt

Request:

POST ${pfad-sts}/STS/tokens HTTP/1.1
Host: www.maklerinfo.biz
X-Dio-Client: 49ea964fd1b497b8813fe ... 14af9b083b2f7ce6ce93
X-Dio-Timestamp: 2017-01-20T10:23:56
X-Dio-Uid: www.example.com
X-Dio-Nonce: bdc8f7f1e172fd1ef66fef4b41e1dd083098fcc5
X-Dio-Username: Benutzername
X-Dio-Password: Passwort
X-Dio-User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:50.0) Gecko/20100101 Firefox/50
X-Dio-Session: 52C24844-E152-3065-FD9D-B5832E809391
X-Dio-Ip: 127.0.0.1
Content-Length: 0
Connection: close

Response:

HTTP/1.1 200 OK
X-Dio-Token: ea4fdcf54fea56b ... 8fa6952229553d84
X-Dio-Uri: ${pfad}/${ma}
X-Dio-Session: 52C24844-E152-3065-FD9D-B5832E809391
Connection: close

deleteToken

Beispiel

Request:

DELETE ${pfad-sts}/STS/tokens HTTP/1.1
Host: www.maklerinfo.biz
${Auth}
Content-Length: 0
Connection: close

Response:

HTTP/1.1 200 OK
Connection: close

Auth-Header

Eingabe

Name Datentyp Beschreibung
Timestamp DateTime Der Zeitstempel zu dem die Anfrage erzeugt wurde. Falls dieser mehr als 30 Sekunden in der Vergangenheit liegt wird die Anfrage abgelehnt.
☛ Sollte sich das Gerät in einer anderen Zeitzone befinden, geben Sie diese an!
Uid string Falls der Consumer direkt beim Mitarbeiter ausgeführt wird (zB. PC, Smartphone..) ist hier die Geräte UID anzugeben, falls es sich um einen Webauftritt handelt, die Domain von welcher sich der Mitarbeiter anmelden möchte
Client string Die von createClient zurückgelieferte Id
Nonce string SHA-1 Hash aus Uid & Timestamp & Random, falls der Hash nicht nachgebildet werden kann wird die Anfrage abgewiesen sha1(uid + timestamp + client.random)
Token string Der beim Authentifizieren zurückgegeben Token
Session string Session-Id.
☛ Nur bei einem Webauftritt
User-Agent string User-Agent des Browsers.
☛ Nur bei einem Webauftritt
Ip string Ip des Clients.
☛ Nur bei einem Webauftritt

Rückgabe

Name Datentyp Beschreibung
Token string Token, dieser kann sich im Laufe der Sitzung ändern und ist ggf. auszutauschen.
☛ Nur bei einem Webauftritt
Session string Session-Id, diese kann sich im Laufe der Sitzung ändern.
☛ Nur bei einem Webauftritt

Beispiel App

X-Dio-Client: d9d6e78652c8c6519d ... dcbae89884821683d20
X-Dio-Timestamp: 2017-01-20T10:37:08
X-Dio-Uid: 6f9716e4-def0-11e6-bf01-fe55135034f3
X-Dio-Token: f62e9310677fc47a3c ... d8c0ef72990ad34d711e2
X-Dio-Nonce: 5c2dfe5f7278d6fad345578e5a2d9fa2b928657b

Beispiel Webauftritt

Request:

X-Dio-Client: 1cca67bd9c6d3237186 ... d91b7ada36fa7100459bec6e0d69d4eb7
X-Dio-Timestamp: 2017-01-20T10:33:50
X-Dio-Uid: www.example.com
X-Dio-Token: bf1aac20a080dd2...1f91ccfdcdebc061a29d
X-Dio-Nonce: aedbdbb51cedaa6abedffb1b5b27d853b772a7e6
X-Dio-User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:50.0) Gecko/20100101 Firefox/50
X-Dio-Session: 52C24844-E152-3065-FD9D-B5832E809391

Response:

...
X-Dio-Token: ea4fdcf54fea56b ... 8fa6952229553d84
X-Dio-Session: 52C24844-E152-3065-FD9D-B5832E809391
...