HIN und OAuth2-Integration
HIN ermöglicht die Nutzung von Applikationen, die über den HIN Access Control Service (ACS) mittels OAuth2 an die HIN-Plattform angebunden sind. Dazu muss der ACS-Applikationsanbieter die Nutzung von OAuth bei HIN freigeben (E-Mail an info@hin.ch). HIN unterstützt die OAuth-Flows «Authorization Code» und «Client Credentials».
Authorization Code Flow
Die zugreifende Drittapplikation (OAuth: Client), die im Namen des Anwenders auf eine andere Applikation zugreifen möchte, leitet den Anwender auf eine geschützte HIN-Applikation (apps.hin.ch) weiter, an welcher er sich authentisieren muss. Apps.hin.ch generiert ein temporäres Token (OAuth: Auth Code) für den Bezug des Zugriff-Tokens (OAuth: Access Token). Der Auth Code wird über den Browser des Anwenders an die Drittapplikation weitergegeben. Hierfür gibt es zwei Varianten:
-
Variante a): Anzeigen des Auth Code in der apps.hin.ch-Webapplikation: Der Auth Code wird in der Webapplikation angezeigt und per Copy/Paste in die Drittapplikation übertragen.
-
Variante b): Übermittlung über Query Parameter: Bei der Weiterleitung des Anwenders an apps.hin.ch gibt die Drittapplikation bereits mit, auf welchen Endpunkt (OAuth: Redirect_URI) er den Auth Code möchte.
Mit dem Auth Code kann die Drittapplikation das Access Token beziehen. Mit dem Access Token kann die Drittapplikation dann auf die entsprechende Applikation über oauth2.<bestehendeURL> zugreifen. Access Token können entweder für eine URL oder für eine Gruppe von URLs gültig sein.
Client Credentials Flow
Der Client Credentials Flow wurde speziell für Machine-to-Machine-Anwendungsfälle konstruiert. Im Client Credentials Flow entfällt der Bezug des Auth Codes und somit die Interaktion mit einem Endbenutzer. Im Gegensatz zum Authorization Code Flow ist das ausgestellte Access Token jedoch auch nur für einen spezifischen, vorkonfigurierten Benutzer gültig. Der Client Credentials Flow eignet sich somit nicht, wenn ein Zugriff im Namen eines Endbenutzers erfolgen soll.
Weiterführende Informationen
Weitere Informationen und Antworten finden Sie auf der Support-Website von HIN: https://support.hin.ch/