zdavatz / amiko-osx

AmiKo Desitin for AmiKo OS X
https://apps.apple.com/ch/app/amiko-desitin/id708142753?mt=12
GNU General Public License v3.0
3 stars 2 forks source link

Integration OAuth für E-rezept #244

Closed zdavatz closed 1 year ago

zdavatz commented 1 year ago
  1. Die Beschreibung bezieht sich aufs EPD. Für das E-Rezept muss die URL wie folgt angepasst werden.
  2. https://oauth2.ci-prep.adswiss.hin.ch/samlService/saml (pre prod fürs testing, die verwendete HIN ID fürs Testing muss uns bekanntgegegen werden, da sie speziell geflagged werden muss)
  3. https://oauth2.ci.adswiss.hin.ch/samlService/saml (prod)
  4. 2023-06-14-3 Getting Started CI EPD - Technische Beschreibung-V81.pdf
  5. oAuth2_Dokumentation_de.pdf
  6. OAuth 2.0 for Native Apps. https://datatracker.ietf.org/doc/html/rfc8252
  7. https://oauth.net/2/
  8. Google provides AppAuth: https://www.oauth.com/oauth2-servers/mobile-and-native-apps/
  9. https://www.oauth.com/oauth2-servers/mobile-and-native-apps/authorization/
  10. https://www.oauth.com/oauth2-servers/mobile-and-native-apps/security-considerations/
  11. Hiermit sende ich Ihnen die Informationen betreffend oAuth:
  12. Redirect URL: http://localhost:8080/callback
  13. Redirect URI has to be URL encoded curl -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept:application/json' --data 'grant_type=authorization_code&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fcallback&code=<AUTH_CODE>&client_id=ch.ywesee&client_secret=<CLIENT_SECRET>' https://oauth2.hin.ch/REST/v1/OAuth/GetAccessToken
    
    Client_ID und Secret erhalten Sie in einer vertraulichen Mail.
    Der Token Group Name (tech) lautet:
    hin_sds

Aufrufbare URL: https://oauth2.sds.hin.ch/

SDS Public Self List: https://oauth2.sds.hin.ch/api/public/v1/self/

oAuth Dokumentation: https://download.hin.ch/documentation/oAuth2_Dokumentation_de.pdf

Refresh Token: Die Möglichkeit, Tokens zu erneuern ohne User-Interaktion ist ebenfalls aktiviert. Infos dazu sind im Kapitel 6 der Dokumentation.

Redirect URL: Falls Sie sich für die Variante "b) Übermittlung über Query Parameter" entscheiden, können Sie mir gerne die Redirect URL bekannt geben.

Als Vorlage stellen wir Ihnen gerne eine Postman-Collection bereit: https://download.hin.ch/acs/oAuth_Vorlage.postman_collection.json.zip


15. Diese URL funktioniert:
`http://apps.hin.ch/REST/v1/OAuth/GetAuthCode/hin_sds?response_type=code&client_id=ch.ywesee&redirect_uri=http://localhost:8080/callback&state=teststate`
zdavatz commented 1 year ago

Das Rezept gemäss CHMED16A signieren funktioniert so:

  1. base64 -di rezept2 | gzip -d
  2. 3.5. Encapsulation of the JSON medication object
  3. https://github.com/certifaction/hinsign-cli
  4. In einem ersten Schritt sind alle Rezepte 3: Prescription (Rx)
  5. Beispiel JSON ist hier im Kapitel: 3.4
  6. In einem ersten Schritt implementieren wir den MedicationPlan nicht. Also brauchen wir die RiskCategory, MedicalData, Measurement, Taking Time nicht.
  7. Recommendation, Taking Time können wir ev aus unserem Text-Feld für Bemerkungen übernehmen.
  8. PolymedicationCheck ist unsere Interaktionsüberprüfung.
  9. Certifaction API Call: https://github.com/certifaction/hinsign-cli#43-example-api-call