Bezug von Auth-Codes

Der Auth-Code ist ein OTP (One-Time-Password), das für den Bezug des Access-Tokens verwendet wird und zehn Minuten gültig ist. Der Bezug kann über zwei Varianten erfolgen:

Variante a): Anzeigen des Auth-Codes in der Webapplikation

Auf apps.hin.ch können Auth-Codes für den Bezug des Access-Tokens generiert werden. Für den OAuth-Service wird ein separates Register bereitgestellt.

OAuth2 Overview

Beim Zugriff auf apps.hin.ch wird standardmässig das erste Register («HIN Mail») angezeigt. Um das Ganze für den Anwender zu vereinfachen, können die Auth-Codes über einen Direktlink bezogen werden: https://apps.hin.ch/#app=HinCredMgrOAuth;tokenGroup=<TokenGruppe>

Der Wert nach tokenGroup= ist je nach Ziel-Applikation unterschiedlich und kann bei HIN angefragt werden.

OTP

Variante b): Übermittlung über Query-Parameter

Bei dieser Variante wird der Auth-Code an eine definierte Redirect-URI übermittelt. Die anwendende Person bestätigt dies durch den Klick auf «Ja, Zugriff erlauben». Die Redirect-URI wird über die aufgerufene URL mitgegeben:

https://apps.hin.ch/REST/v1/OAuth/GetAuthCode/<TokenGruppe>?response_type=code&client_id=<client_id>&redirect_uri=<Redirect_URI>&state=<state>
WertBeschreibung
<TokenGruppe>Applikationsgruppe, für welche ein Token bezogen werden soll (Achtung: Der Name ist case-sensitive)
<Redirect_URI>Redirect-URI, an welcher der Browser nach dem Bestätigen des Dialoges mit dem Auth-Code weitergeleitet wird. Der Wert muss URL-encoded sein und für die entsprechende Client-ID hinterlegt werden.
<state>Ein statischer Wert, welcher bei der Weiterleitung des Browsers bestehen bleibt
<client_id>oAuth-Client-ID: Durch HIN vergebene ID für die Drittapplikation. Es handelt sich hierbei nicht um eine HIN Identität.

Beispiel-Request für die Applikation «ACS-Applikation»:

https://apps.hin.ch/REST/v1/OAuth/GetAuthCode/ACS-Applikation?response_type=code&client_id=ch.hin&redirect_uri=https%3A%2F%2Fwww.hin.ch&state=teststate

Der Auth-Code wird mittels URI Parameter an die gewünschte Redirect_URI übermittelt. Zudem wird der State mitgeliefert. https://www.hin.ch/?state=teststate&code=qdoWMwRNHnn9wDNynbMxytwahEGNXBqtipQhZXLF