Sitzungen
Ein Sitzungsobjekt repräsentiert den Zugriff auf eine bestimmte Quelle.
Sitzungen werden immer mit einem ausstehenden Status erstellt, bis die API den Zugriff mit dem Dienst der Zielquelle überprüfen kann.
Wenn der Dienst der Zielquelle den Zugriff widerruft, wird die Sitzung in einen abgelaufenen Zustand versetzt.
Die Sitzung kann vom Client nicht aktualisiert werden.
Attribute
Name | Art | Beschreibung |
---|---|---|
id | Zeichenfolge | Ressourcenkennung. |
resource | Zeichenfolge, immer session | Ressourcentyp-ID. |
organisation | Organisations-ID | Die Organisation, der die Sitzung zugeordnet ist. |
key | Schlüssel-ID | Der dieser Ressource zugeordnete Schlüssel. |
user | Benutzeridentifikation | Der Benutzer, dem die Sitzung zugeordnet ist. |
source | verschachtelte Quelle | Die Quellinstanz, der die Sitzung zugeordnet ist. |
state | Zeichenfolge | Eines von: pending , active , failed , expired . |
error | Zeichenfolge | Ein Code, der auf den Grund verweist, warum die Sitzung abgelaufen ist. |
date_created | Terminzeit | Wann wurde die Ressource erstellt. |
date_expired | Terminzeit | Wenn die Ressource abgelaufen ist. |
Zustände
-
pending
- Die Sitzung wird noch initialisiert.
-
active
- Die Sitzung kann zum Übermitteln von Aufgaben verwendet werden.
-
failed
- Sitzungsinitialisierung fehlgeschlagen.
-
expired
- Die Sitzung wurde ungültig gemacht.
Fehler
Eine Sitzung kann zwei Arten von Fehlern aufweisen: Initialisierungsfehler und Ablauffehler.
Sitzungsinitialisierungsfehler treten normalerweise aufgrund eines falschen Benutzernamens oder Kennworts, der Notwendigkeit einer 2FA-Authentifizierung oder des Dienstes auf, der aus einem anderen Grund den Zugriff auf die Quelle verweigert. Diese Fehler haben den init_failed
.
Die meisten Sitzungen werden irgendwann ablaufen. Weitere Details zur Sitzungslebensdauer finden Sie in den dienstspezifischen Dokumenten. Es gibt jedoch verschiedene Auslöser für den Ablauf einer Sitzung:
service
- Der Drittanbieter-Dienst hat die Sitzung ungültig gemacht. Dies liegt in der Regel an Sitzungs-Timeouts innerhalb des Drittanbieter-Service (dh eine Sitzung kann nur 24 Stunden dauern). Dies kann jedoch auch dadurch verursacht werden, dass der Eigentümer der Quelle seine Anmeldeinformationen ändert, da hierdurch häufig eine vorhandene Sitzung ungültig wird, oder durch ein Sicherheitsmerkmal innerhalb des Dienstes, z. B. ein Eindringlingserkennungssystem, ausgelöst wird.
api
- Die API macht inaktive Sitzungen regelmäßig ungültig.
organisation
- Die Organisation hat die Sitzung möglicherweise im Namen des Endbenutzers für ungültig erklärt.
admin
- Ein API-Administrator hat die Sitzung ungültig gemacht.
Erstellen Sie POST /sessions
Parameter
Name | Art | Beschreibung |
---|---|---|
source | erforderlich | Die Quelle, der diese Sitzung zugeordnet wird. Der Inhalt sollte dem Schema zur Erstellung der Quelle folgen. |
payload | erforderlich | Die Nutzdaten für die Sitzungsinitialisierung. Die erforderlichen Inhalte hängen von dem Dienst ab, zu dem die Quelle gehört. |
CURL verwenden
curl https://ricloud-api.reincubate.com/sessions \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "source": { "user": 1, "type": "icloud.account", "identifier": "john.appleseed@reincubate.com" }, "payload": { "password": "1234" } }'
Mit Ricloud-Py
import ricloud source = { 'user': 1, 'type': 'icloud.account', 'identifier': 'john.appleseed@reincubate.com', } payload = { 'password': '1234', } session = ricloud.Session.create(source=source, payload=payload)
GET /sessions/{session ID}
CURL verwenden
curl https://ricloud-api.reincubate.com/sessions/<session ID> \ -H 'Authorization: Token <your key_token>'
Mit Ricloud-Py
import ricloud session = ricloud.Session.retrieve(<session ID>)
Liste
GET /sessions
Name | Art | Beschreibung |
---|---|---|
key | Schlüssel-ID-Filter | Filtern nach einer Schlüssel-ID. |
user | Benutzer-ID-Filter | Filtern nach einer Benutzer-ID. |
source | Quell-ID-Filter | Filtern nach einer Quellen-ID. |
state | String-Filter | Filtern nach Sitzungsstatus. |
date_created | Datum / Uhrzeit-Filter | Filtern Sie nach dem Zeitpunkt, zu dem die Sitzung erstellt wurde. |
date_expired | Datum / Uhrzeit-Filter | Filtern nach, wann die Sitzung abgelaufen ist. |
CURL verwenden
curl https://ricloud-api.reincubate.com/sessions \ -H 'Authorization: Token <your key_token>'
Mit Ricloud-Py
import ricloud sessions = ricloud.Session.list()
DELETE /sessions/{session ID}
Diese Interaktion läuft die Sitzung ab und löscht alle mit ihr verbundenen zwischengespeicherten Daten in der API. Die tatsächliche Sitzungsressourceninstanz wird für den Datensatz beibehalten.
CURL verwenden
curl https://ricloud-api.reincubate.com/sessions/<session ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
Mit Ricloud-Py
import ricloud session = ricloud.Session.delete_with_id(<session ID>) # OR session = ricloud.Session.retrieve(<session ID>) session.delete()