Authentifizierung in der MAPI

From KWICK! Developer Wiki

Jump to: navigation, search

Contents

Allgemeines

Die MAPI verwendet eine sitzungsbasierte Authentifizierung. Hierfür wird ein MD5-Hash über die Sitzungs-ID sowie das App-Secret als Signatur generiert, um zu verifzieren, dass die App die Berechtigung hat, im Namen der gestarteten Sitzung, und damit im Namen des eingeloggten Benutzers, zu handeln.

Verwendung

Hasherstellung

Zum Erstellen des Hashes werden die Session-ID der aktuellen Sitzung (Inhalt des Session-Cookies), sowie das Secret der App als Strings aneinandergehängt. Von dem sich ergebenden String wird anschließend der MD5-Hash gebildet. Der so erstellte MD5-Hash ergibt den Authentifizierungs-Token.

Pseudocode zur Hasherstellung:
hash = md5(session_id + myAppSecret);

Hashübergabe

Zum authentifizieren der Anfrage auf sessiongeschützte Funktionen müssen folgende Parameter angegeben werden.

Name Beschreibung
__app Name der Applikation, die das Request abgesetzt hat.
__auth Authentifizierungs-Token für die aktuelle Sitzung der App.

Die korrekte URL zum Aufruf einer geschützten Funktion könnte demnach beispielsweise so aussehen:

http://mapi.kwick.de/2.0/logout?__app=mySmartPhoneApp&__auth=75d84d599c3a617e2c5a539a6bc69b31

Cookie

Beim erfolgreichen Login wird dem Client ein Session-Cookie mit dem Namen a2K3j8G1 mitgesendet, welches bei jeder MAPI-Anfrage zur Identifikation mitgesendet werden muss.

Personal tools