Authentisierung für Apotheken Systeme
Authentifizierungsmethode für das (Teil-)Einlösen eines E-Rezepts
Als Authentifizierungsmethode wird oAuth2 eingesetzt. Die ausführliche Dokumentation, wie der oAuth2 Service von HIN implementiert, finden Sie hier: https://cdn.hin.ch/oauth2/manual/DE/Auth-Code/Auth-Code-Einleitung.html
Sie finden nachfolgend eine Schritt-für-Schritt Anleitung für Teildispensation und Volldispensation eines E-Rezepts:
- Es wird ein oAuth2 Access Token benötigt, das auf zwei verschiedene Arten bezogen werden kann:
Variante 1: auf https://apps.hin.ch -> ID Delegation für «HIN eRezept Pharma» oder
Variante 2: über die URL
html
http://apps.hin.ch/REST/v1/OAuth/GetAuthCode/hin_erxpharmacy?response_type=code&client_id=<client_id>&redirect_uri=http%3A%2F%2Flocalhost%2FgetAccessToken- Das oAuth2 Access Token muss mit folgendem Befehl in ein Bearer Token umgewandelt werden:
shellscript
curl --location --request POST 'https://oauth2.hin.ch/REST/v1/OAuth/GetAccessToken' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code={access_token}' \
--data-urlencode 'redirect_uri=http://localhost/getAccessToken' \
--data-urlencode 'client_id={client_id}' \
--data-urlencode 'client_secret={client_secret}'ACHTUNG
redirect_uri leer lassen, falls der auth code über apps.hin.ch gelöst wurde.
Mitgabe des oAuth/JWT Tokens:
Diese 2 Varianten zur Mitgabe des Tokens werden angeboten.
- als Präfix im Authorization Header:
--header 'Authorization: Bearer acs:{bearer token}' - als eigener Header (oAuth Standard):
--header 'Token-Type: HIN_ACS' --header 'Authorization: Bearer {bearer token}'Der Token-Type Header lässt folgende Typen zu: