Sessies
Een sessieobject staat voor toegang tot een specifieke bron.
Sessies worden altijd gemaakt met een status in behandeling, totdat de API de toegang kan verifiëren met de service van de doelbron.
Als de service van de doelbron de toegang intrekt, gaat de sessie over in een verlopen status.
Sessie kan niet door de klant worden bijgewerkt.
attributen
naam | type | Omschrijving |
---|---|---|
id | draad | Bron-ID. |
resource | string, altijd session | Brontype-ID. |
organisation | organisatie ID | De organisatie waaraan de sessie is gekoppeld. |
key | sleutel ID | De sleutel die aan deze resource is gekoppeld. |
user | gebruikersnaam | De gebruiker waaraan de sessie is gekoppeld. |
source | geneste bron | De broninstantie waaraan de sessie is gekoppeld. |
state | draad | Een van: in pending , active , failed , expired . |
error | draad | Een code die verwijst naar de reden waarom de sessie is verlopen. |
date_created | datum Tijd | Wanneer de resource is gemaakt. |
date_expired | datum Tijd | Wanneer de bron is verlopen. |
Staten
-
pending
- De sessie wordt nog steeds geïnitialiseerd.
-
active
- De sessie is klaar om te worden gebruikt om taken in te dienen.
-
failed
- Sessie-initialisatie mislukt.
-
expired
- De sessie is ongeldig.
fouten
Een sessie kan twee soorten fouten bevatten: initialisatiefouten en verloopfouten.
Sessie-initialisatiefouten treden meestal op vanwege een slechte gebruikersnaam of wachtwoord, de behoefte aan 2FA-verificatie of de service die om een andere reden minder toegang tot de bron heeft. Deze fouten hebben het init_failed
.
De meeste sessies zullen uiteindelijk verlopen. Meer informatie over de levensduur van de sessie vindt u in de servicedesktop. Er zijn echter verschillende triggers voor het verstrijken van de sessie:
service
- De service van derden heeft de sessie ongeldig gemaakt. Dit is meestal te wijten aan sessietime-outs binnen de service van derden (dwz een sessie kan slechts 24 uur duren). Het kan echter ook worden veroorzaakt doordat de eigenaar van de bron zijn legitimatiegegevens wijzigt, omdat dit de bestaande sessie vaak ongeldig maakt of kan worden geactiveerd door een beveiligingsfunctie binnen de service, zoals een indringersdetectiesysteem.
api
- De API maakt periodiek inactieve sessies ongeldig.
organisation
- De organisatie heeft de sessie ongeldig gemaakt, mogelijk namens de eindgebruiker.
admin
- Een API-beheerder heeft de sessie ongeldig gemaakt.
Maak POST /sessions
parameters
naam | type | Omschrijving |
---|---|---|
source | verplicht | De bron van deze sessie wordt gekoppeld. De inhoud moet het schema voor het maken van de bron volgen. |
payload | verplicht | De laadactie van de sessie-initialisatie. De vereiste inhoud is afhankelijk van de service waartoe de bron behoort. |
CURL gebruiken
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" } }'
Ricloud-py gebruiken
import ricloud source = { 'user': 1, 'type': 'icloud.account', 'identifier': 'john.appleseed@reincubate.com', } payload = { 'password': '1234', } session = ricloud.Session.create(source=source, payload=payload)
Ophalen GET /sessions/{session ID}
CURL gebruiken
curl https://ricloud-api.reincubate.com/sessions/<session ID> \ -H 'Authorization: Token <your key_token>'
Ricloud-py gebruiken
import ricloud session = ricloud.Session.retrieve(<session ID>)
Lijst
GET /sessions
naam | type | Omschrijving |
---|---|---|
key | sleutel ID filter | Filteren op sleutel-ID. |
user | gebruikers-ID filter | Filteren op een gebruikers-ID. |
source | bron ID filter | Filteren op bron ID. |
state | string filter | Filteren op de sessiestatus. |
date_created | datetime filter | Filteren op wanneer de sessie is gemaakt. |
date_expired | datetime filter | Filteren op wanneer de sessie was verlopen. |
CURL gebruiken
curl https://ricloud-api.reincubate.com/sessions \ -H 'Authorization: Token <your key_token>'
Ricloud-py gebruiken
import ricloud sessions = ricloud.Session.list()
Delete DELETE /sessions/{session ID}
Met deze interactie verloopt de sessie en worden alle gekoppelde gegevens in de cache verwijderd uit de API. De eigenlijke sessie-instantie voor de sessie is voor de record behouden.
CURL gebruiken
curl https://ricloud-api.reincubate.com/sessions/<session ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
Ricloud-py gebruiken
import ricloud session = ricloud.Session.delete_with_id(<session ID>) # OR session = ricloud.Session.retrieve(<session ID>) session.delete()