Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge main into develop #267

Merged
merged 21 commits into from
Sep 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
e7a05b7
fix links from idp.adoc to internal requirements documents
marcusfey Jan 22, 2024
6f7d025
Adds better documentation of where the mxid is required in its url fo…
Beff42 Feb 16, 2024
2e999ca
Fixes issue with code generation
Beff42 Feb 27, 2024
4879286
Merge pull request #229 from gematik/gematik/HOTFIX_Fixes_formatting
Beff42 Feb 27, 2024
bdc43ca
new tags in TiMessengerTestTreiber.yaml
gem-aw Mar 28, 2024
cf5fd17
Merge remote-tracking branch 'origin/gematik/HOTFIX_Restructures_endp…
Beff42 Mar 28, 2024
2f777f3
Merge pull request #232 from gematik/gematik/HOTFIX_Restructures_endp…
Beff42 Mar 28, 2024
74e72df
TIM-TS 446: allow FHIR enum state "off"
marlenebuelt Apr 15, 2024
9ded2b4
TIM-TS 446: added correct versions
marlenebuelt Apr 15, 2024
d921668
Updates release version
Beff42 Apr 15, 2024
dbe5750
Merge pull request #234 from gematik/HOTFIX_changes_endpoint_enum_to_…
Beff42 Apr 15, 2024
c15b9c8
Marks required properties as required (#233)
Beff42 Apr 16, 2024
52065fc
Fix typo
Johennes Mar 19, 2024
8a7c6ea
Removes test driver api and adds fachportal links to welcome package …
Beff42 May 22, 2024
9b9f21b
added new permissionConfig and examples
ichderjens Jun 4, 2024
eb1d6b0
Merge pull request #242 from gematik/new_permission_config
Johennes Jun 4, 2024
3ba6500
Update FHIR-Directory.adoc
HarHarLinks Jun 5, 2024
7f5d413
Merge pull request #243 from HarHarLinks/patch-1
Johennes Jun 20, 2024
1dc7515
Document previously unspecified but already implemented MXID header
Johennes Jul 8, 2024
9f74bf2
Merge pull request #248 from gematik/johannes/mxid-header
ofegem Jul 9, 2024
54c99b1
Merge branch 'main' into develop
Johennes Sep 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/Authenticator/authenticator.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ CAUTION: Voraussetzungen für die Nutzung des von der gematik bereitgestellten *
Der Authenticator ist eine Desktop-Anwendung mit grafischer Benutzerschnittstelle, welche aktuell unter Windows lauffähig ist und aus Anwendungen heraus aufgerufen wird. Es ist erforderlich den *Authenticator* in der Leistungserbringer-Umgebung zu konfigurieren. Zusätzliche Informationen finden Sie in der https://wiki.gematik.de/display/GAKB/Installationshandbuch+Authenticator[Installationsanleitung].

== Interaktion mit der Fachanwendung
Damit die Interaktion mit der Fachanwendung möglich ist, wird vorrausgesetzt das die Fachanwendung am zentralen *IDP-Dienst* registriert ist. Der *Authenticator* wird von einem Client über das Protokoll `authenticator://` gestartet (Deeplink). Beim Deeplink-Aufruf übergibt die Fachanwendung einen URL-String mit Query-Parametern. Dieser URL-String setzt sich abhängig vom verwendeten *IDP-Dienst* aus dem Protokoll (`authenticator://`) und weiteren Request-Parametern zusammen. Das Standardverhalten des *Authenticators* ist, dass nach Abschluss des Vorgangs der Response vom Aufruf der `redirect_uri` im default Browser des Betriebssystems geöffnet wird. Um das Öffnen in dem default Browser zu verhindern, bietet der *Authenticator* eine Auto-Redirect Funktion an. Mit dieser Funktion verarbeitet der *Authenticator* einen zusätzlichen Parameter: `callback=DIRECT`. Durch diesen ruft der *Authenticator* die `redirect_uri` direkt auf, anstatt das Ergebnis der Authentifizierung in einen neuen Browser-Tab zu öffnen.
Damit die Interaktion mit der Fachanwendung möglich ist, wird vorrausgesetzt, dass die Fachanwendung am zentralen *IDP-Dienst* registriert ist. Der *Authenticator* wird von einem Client über das Protokoll `authenticator://` gestartet (Deeplink). Beim Deeplink-Aufruf übergibt die Fachanwendung einen URL-String mit Query-Parametern. Dieser URL-String setzt sich abhängig vom verwendeten *IDP-Dienst* aus dem Protokoll (`authenticator://`) und weiteren Request-Parametern zusammen. Das Standardverhalten des *Authenticators* ist, dass nach Abschluss des Vorgangs der Response vom Aufruf der `redirect_uri` im default Browser des Betriebssystems geöffnet wird. Um das Öffnen in dem default Browser zu verhindern, bietet der *Authenticator* eine Auto-Redirect Funktion an. Mit dieser Funktion verarbeitet der *Authenticator* einen zusätzlichen Parameter: `callback=DIRECT`. Durch diesen ruft der *Authenticator* die `redirect_uri` direkt auf, anstatt das Ergebnis der Authentifizierung in einen neuen Browser-Tab zu öffnen.

CAUTION: Die Anwendung gibt vor, welcher Kartentyp (SMC-B / HBA) für den Authentifizierungsprozess mittels *Authenticator* gesteckt werden soll.

Expand All @@ -51,4 +51,4 @@ TIP: Sollten sich in den Konnektor-Terminals mehrere SMC-Bs befinden, erfolgt ab
== Entwickleroption
Innerhalb der Entwicklervariante des https://fachportal.gematik.de/hersteller-anbieter/komponenten-dienste/authenticator[Authenticators] ist ein Mockmodus integriert, der die Verwendung eines Konnektors simulieren kann. Somit können Funktionstests auch ohne physisch vorhandenen Konnektor durchgeführt werden. Diese Funktion soll die Entwicklung mit dem *Authenticator* vereinfachen, da sie neben einem speziellen Mockmodus auch mehr Logging-Möglichkeiten zur Verfügung stellt. Eine Anleitung für den Mockmodus ist link:https://wiki.gematik.de/display/GAKB/Gematik+Authenticator+-+Entwicklervariante+mit+Mockmodus[hier] zu finden.

Hersteller die den gematik *Authenticator* für eine smartcardbasierte Authentisierung an ihrer Fachanwendung bzw. ihren Fachdienst anbinden möchten, können die link:https://wiki.gematik.de/display/GAKB/Gematik+Authenticator+SDK+Dokumentation[SDK-Dokumentation] der gematik verwenden. Zusätzlich ist der Quellcode des *Authenticator* link:https://github.com/gematik/app-Authenticator[hier] einsehbar.
Hersteller die den gematik *Authenticator* für eine smartcardbasierte Authentisierung an ihrer Fachanwendung bzw. ihren Fachdienst anbinden möchten, können die link:https://wiki.gematik.de/display/GAKB/Gematik+Authenticator+SDK+Dokumentation[SDK-Dokumentation] der gematik verwenden. Zusätzlich ist der Quellcode des *Authenticator* link:https://github.com/gematik/app-Authenticator[hier] einsehbar.
4 changes: 2 additions & 2 deletions docs/IDP/idp.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -315,9 +315,9 @@ TIP: Der Token-Endpunkt DARF `ID_TOKEN` mit einer Gültigkeitsdauer von mehr als
Im ersten Schritt entschlüsselt die *Relying Party* das `ID_TOKEN` mit seinem selbst erzeugten 256-Bit AES-Schlüssel (`Token-Key`). Anschließend erfolgt die Signaturprüfung mit dem `PuK_IDP_SIG` des *IDP-Dienstes*.

== Authorization Code Flow
In dem folgenden Sequenzdiagramm ist beispielhaft der Ablauf des Authorization Code Flow für den Anwendungsfall dargestellt. Im Kontext des *TI-Messenger-Dienstes* ist der *Registrierungs-Diens* die *Relying Party*. Als *Authenticator* wird der von der gematik bereitgestellte *Authenticator* verwendet.
In dem folgenden Sequenzdiagramm ist beispielhaft der Ablauf des Authorization Code Flow beim Authentisieren einer Organisation am TI-Messenger-Dienst dargestellt. Im Kontext des *TI-Messenger-Dienstes* ist der *Registrierungs-Diens* die *Relying Party*. Als *Authenticator* wird der von der gematik bereitgestellte *Authenticator* verwendet.

CAUTION: Der von der gematik bereitgestellte Authenticator wird nicht in Verbindung mit einer Web-Anwendung empfohlen, da vom Authenticator ein neuer Browser Tab geöffnet wird. Entsprechend der Fachanwendung wird im Browser eine HTML-Seite oder ein Json-Objekt(VZD-FHIR Response) angezeigt.
CAUTION: Der von der gematik bereitgestellte Authenticator wird nicht in Verbindung mit einer Web-Anwendung empfohlen, da vom Authenticator ein neuer Browser Tab geöffnet wird. Entsprechend der Fachanwendung wird im Browser eine HTML-Seite oder ein Json-Objekt(VZD-FHIR Response) angezeigt.

Die Abbildung zeigt die Verwendung des *Authenticators* mit der Auto-Redirect Funktion (`callback=DIRECT`) bei der die `redirect_uri` direkt vom Authenticator aufgerufen wird und der Browserclient über Polling beim Fachdienst den Status des Austausches des Tokens abfragt. Details zur Interaktion mit dem *Authenticator* sind in Kapitel _Interaktion mit der Fachanwendung_ beschrieben. Alternativ könnte der *Authenticator* beim Aufruf der `redirect_uri` eine nutzerfreundliche Webseite der *Relying Party* in einem neuen Browsertab öffnen.

Expand Down
12 changes: 12 additions & 0 deletions src/openapi/TiMessengerContactManagement.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ paths:
$ref: "#/components/responses/DefaultResponse"

/contacts:
parameters:
- $ref: "#/components/parameters/mxidHeader"

get:
tags:
- getContacts
Expand Down Expand Up @@ -138,6 +141,7 @@ paths:

/contacts/{mxid}:
parameters:
- $ref: "#/components/parameters/mxidHeader"
- $ref: "#/components/parameters/mxid"

get:
Expand Down Expand Up @@ -177,6 +181,14 @@ components:

parameters:

mxidHeader:
name: Mxid
in: header
description: MXID of the contact settings owner. MUST match with the
MXID resolved from the Matrix-OpenID-Token.
required: true
schema:
type: string
mxid:
name: mxid
in: path
Expand Down