Änderungen bei der Authentifizierung in Microsofts v2.0 App Model

Microsoft ändert das v2.0 Auth Protocol zur Anmeldung an die Cloud-Dienste Microsoft Account und Azure Active Directory. Entwickler müssen aufgrund der Neuerungen vermutlich vorhandenen Code anpassen.

In Pocket speichern vorlesen Druckansicht
Änderungen in der Authentifizierung an Microsofts v2.0 App Model
Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Im August kündigte Microsoft ein vereinheitlichtes Programmiermodell für die Cloud-Dienste des Azure Active Directoy für Unternehmen und des Microsoft Account für Endanwender an. Aus Entwicklersicht ist das v2.0 App Model relevant, das kurz vor der allgemeinen Verfügbarkeit steht. Ein Blog-Beitrag des Active-Directory-Teams weist auf wichtige Änderungen im Authentisierungspart v2.0 Auth Protocol hin.

So verschwindet der x5t-Wert aus dem JWT-Header (JSON Web Token Handler). Er diente zur Identifizierung des öffentlichen Schlüssels, der zur Überprüfung der Token-Signature verwendet werden soll. Der ebenfalls im JWT-Header genutze kid-Wert dient demselben Zweck und bleibt bestehen. Den Rückgabewert profile_info für Anfragen an ein Token ersetzt das Team durch id_token. Mit id_token_expires_in verschwindet ein weiterer Rückgabewert. Er gab die Zeit in Sekunden an, die ein id_token gültig bleibt. Stattdessen sollen Programmierer jetzt auf die OpenID-Connect-Standards nbf und exp zurückgreifen.

Eine drastische Änderung betrifft die Zugriffsberechtigungen für den openid-Gültigkeitsbereich. Das alte Programmiermodell öffnete einer Anwendung alle Informationen, sobald der Nutzer seine Zustimmung gab, mit dem neuen setzt die Schnittstelle auf ein inkrementelles Sicherheitsmodell. Die erste Berechtigung durch den Anwender erlaubt der Applikation lediglich die Anmeldung am System. Die Abfrage persönlicher Informationen erfordert weitere Zustimmung. Dafür führt das Team die neuen Gültigkeitsbereiche email und profile ein.

Eine rein syntaktische Änderung ist der Wegfall des abschließenden Schrägstriches im issuer-Wert. So würde aus https://login.microsoftonline.com/{some-guid}/v2.0/ schlicht https://login.microsoftonline.com/{some-guid}/v2.0.

Entwickler, die bereits das v2.0 App Model verwenden, müssen sicherstellen, dass ihr Code die Neuerungen berücksichtigt. Durch die geänderten JSON-Strukturen, die granularen Berechtigungen und auch die syntaktische Modifikation, sind Anpassungen am Code vermutlich notwendig. (rme)