diff --git a/docs/details/authentication/cli.md b/docs/details/authentication/cli.md index c521a02a9169301857ede202d56b32bcc1e052e1..bc634a558fd2bb2759a6d8fb7102f94f77e9fbc9 100644 --- a/docs/details/authentication/cli.md +++ b/docs/details/authentication/cli.md @@ -9,21 +9,21 @@ Weitere Informationen dazu wie die OAuth-Authentifizierung selbst implementiert Das CLI-Tool kann über den Python Paketmanager pip installiert werden. Dafür muss Python 3.6 oder neuer installiert sein. ```bash -pip install fitconnect-cli +$ pip install fitconnect-cli ``` Nach der Installation von fitconnect-cli kann mithilfe des folgenden Kommandos eine neue FIT-Connect API-Konfiguration angelegt werden. ```bash - fitconnect create_config --config=test_sender.json +$ fitconnect create_config sender-config.json ``` -Hierbei muss ausgewählt werden, ob ein Sende- oder Empfangsdienst betrieben werden und ob automatisch RSA-Keys für die Generierung von JWTs angelegt werden sollen. +Hierbei muss ausgewählt werden, ob ein Sende- oder Empfangsdienst betrieben werden und ob automatisch RSA-Keys für die Generierung von JWTs angelegt werden sollen. Wir wählen hier einen Sender. ```bash - fitconnect create_config --config=test_sender.json +$ fitconnect create_config sender-config.json ? Do you want to setup a config for a sender (e.g. onlineservice) or receiver? sender -? Oauth Token URL: https://fit-connect.de/oauth/token +? Oauth Token URL: https://fit-connect.de/oauth/token/ ? Client id: nnXVC6DSPG9BkoMw5NXOur4RPOkEpLMMwYFbycIo ? Client secret: Yj9PduOSsjGzwsIDXGRLrzDarZdKE4QPXuil21FqJGlVnZTDqcM7S5FruJA4kv1L3K4PCmAqAuK11y2fwu2MDVBiDUgWTBLc1e3H8tV0sD5PzlEiV7nCUAYBP7u8tG01 ? Do you want to create a jwt signature key? yes @@ -43,21 +43,21 @@ q1r1v0Vzj+qk9WEGVz/Gl4MCAwEAAQ== -----END PUBLIC KEY----- ``` -Nachdem der Assistent abgeschlossen wurde, sollte im aktuellen Verzeichnis eine JSON-Datei mit allen benötigten Konfigurationen angelegt worden sein. Diese lässt sich nun mit einem FIT-Connect-API-Client oder dem fitconnect-cli weiterbenutzten. +Im aktuellen Verzeichnis findet sich nun eine Konfigurationsdatei (hier: `sender-config.json`) mit allen benötigten Parametern. Diese lässt sich nun mit einem FIT-Connect API-Client oder der fitconnect-cli weiterbenutzten. ## Generierung von JWTs -Mithilfe der fitconnect-cli können JWTs zum Abrufen von bzw. Versenden von Anträgen generiert werden. Dabei wird zuerst über das OAuth 2 Client Credentials Verfahren ein JWT abgerufen und dann falls Antreäge versendet werden sollen der sogenannte Online-Service-Token mit eingeschränkten Berechtigungen davon abgeleitet. +Mithilfe der fitconnect-cli können JWTs zum Abrufen von bzw. Versenden von Einreichungen generiert werden. Dabei wird zuerst mit dem OAuth2 Client Credentials Flow ein JWT abgerufen und dann, falls Einreichungen versendet werden sollen, der Online-Service-Token mit eingeschränkten Berechtigungen davon abgeleitet. ### Abrufen von JWTs für antragssendene Systeme (Onlineservices) -Für die Generierung von JWTs zum Versenden von Anträgen muss neben der Konfiguration außerdem über den Parameter *destination* angegeben werden, an welche Destination-IDs Anträge gesendet werden sollen. +Für die Generierung von JWTs zum Versenden von Einreichungen muss neben der Konfiguration außerdem über den Parameter `destination` angegeben werden, an welche Destination-IDs Einreichungen gesendet werden sollen. ```bash -fitconnect get_jwt --config=test_sender.json --destination "d771f1d8-6967-4740-9668-82c5a910a29b" +$ fitconnect get_jwt sender-config.json --destination "d771f1d8-6967-4740-9668-82c5a910a29b" ``` -Bei erfolgreicher Generierung erhält man ein JSON-Objekt mit einem User-Token und einen Online-Service-Token zurück. Diese können dann dazu verwendet werden um mithilfe eines FIT-Connect-API-Client oder CURL einen Einreichung versenden. +Bei erfolgreicher Generierung erhält man ein JSON-Objekt mit einem User-Token und einen Online-Service-Token zurück. Diese können verwendet werden um mithilfe eines FIT-Connect API-Clients bzw. jedem beliebigen HTTP Client mit FIT-Connect zu kommunizieren. ```json { @@ -106,19 +106,28 @@ Und der eines User-Tokens so: Ein CURL-Request um dann mit diesen Tokens auf die API zuzugreifen, könnte z.B. so aussehen: ```bash -curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "token: ...token..." -H "online-service-token: ...online-service-token..." https://fit-connect-url.einfügen +$ curl -i \ + -H "Accept: application/json" \ + -H "Content-Type: application/json" \ + -H "token: ...token..." \ + -H "online-service-token: ...online-service-token..." \ + https://v1.fit-connect.de/ ``` ### Abrufen von JWTs für empfangende Systeme (Fachverfahren / virtuelle Poststellen) -Wenn ein JWT zum Abrufen von Anträgen generiert werden soll, kann auf den Parameter destination verzichtet werden. +Wenn ein JWT zum Abrufen von Einreichungen generiert werden soll, kann auf den Parameter `destination` verzichtet werden. ```bash -fitconnect get_jwt --config=test_receiver.json +$ fitconnect get_jwt receiver-config.json ``` -Als Antwort erhält man einen (vom Authentifizierungsserver via OAuth Client Credentials abgerufenen) JWT, welchen man zur Authentifizierung beim Abrufen von Anträgen verwenden kann. +Als Antwort erhält man einen (vom Authentifizierungsserver via OAuth2 Client Credentials Flow abgerufenen) JWT, welchen man zur Authentifizierung beim Abrufen von Einreichungen verwenden kann. ```bash -curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "token: ...token..." https://fit-connect-url.einfügen +$ curl -i \ + -H "Accept: application/json" \ + -H "Content-Type: application/json" \ + -H "token: ...token..." \ + https://v1.fit-connect.de/ ```