Skip to content
Snippets Groups Projects
Commit 48815bb9 authored by David Schwarzmann's avatar David Schwarzmann
Browse files

Merge branch 'update-cli-instructions' into 'main'

Update cli.md

See merge request fit-connect/api!56
parents 765f69fc efcf0981
No related branches found
No related tags found
1 merge request!56Update 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/
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment