Sesiones

Actualizado
Cover image for: Sesiones

Un objeto de sesión representa el acceso a una fuente específica.

Las sesiones siempre se crean con un estado pendiente, hasta que la API pueda verificar el acceso con el servicio de la fuente de destino.

Si el servicio de la fuente de destino revoca el acceso, la sesión pasará a un estado vencido.

Las sesiones no son actualizables por el cliente.

Atributos

nombre tipo descripción
id cuerda Identificador de recursos.
resource cadena, siempre session Identificador del tipo de recurso.
organisation ID de la organización La organización a la que está asociada la sesión.
key ID de clave La clave asociada a este recurso.
user ID de usuario El usuario con el que está asociada la sesión.
source fuente anidada La instancia de origen con la que está asociada la sesión.
state cuerda Uno de: pending , active , failed , expired .
error cuerda Un código que hace referencia a la razón por la que expiró la sesión.
date_created fecha y hora Cuando el recurso fue creado.
date_expired fecha y hora Cuando el recurso expiró.

Estados

pending
La sesión aún está siendo inicializada.
active
La sesión está lista para ser usada para enviar tareas.
failed
La inicialización de la sesión falló.
expired
La sesión ha sido invalidada.

Los errores

Una sesión puede tener dos tipos de errores: errores de inicialización y errores de caducidad.

Los errores de inicialización de la sesión generalmente ocurren debido a un nombre de usuario o contraseña incorrectos, la necesidad de autenticación 2FA o el servicio que rechaza el acceso a la fuente por algún otro motivo. Estos errores tendrán el tipo de error init_failed .

La mayoría de las sesiones eventualmente expirarán. Se pueden encontrar más detalles de la duración de la sesión en los documentos específicos del servicio. Sin embargo, hay varios desencadenantes para la expiración de la sesión:

service
El servicio de terceros ha invalidado la sesión. Esto suele deberse a los tiempos de espera de sesión dentro del servicio de terceros (es decir, una sesión solo puede durar 24 horas). Sin embargo, también puede deberse a que el propietario de la fuente cambie sus credenciales, ya que esto a menudo invalida la sesión existente, o puede ser activado por una característica de seguridad dentro del servicio, como un sistema de detección de intrusos.
api
La API invalida periódicamente las sesiones inactivas.
organisation
La organización ha invalidado la sesión, posiblemente en nombre del usuario final.
admin
Un administrador de API ha invalidado la sesión.

Crear POST /sessions

Parámetros

nombre tipo descripción
source necesario La fuente a la que se asociará esta sesión. Los contenidos deben seguir el esquema de creación de la fuente .
payload necesario La carga de inicialización de sesión. Los contenidos requeridos dependen del servicio al que pertenece la fuente.

Usando cURL

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"
    }
}'

Utilizando 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)

Recuperar GET /sessions/{session ID}

Usando cURL

curl https://ricloud-api.reincubate.com/sessions/<session ID> \
  -H 'Authorization: Token <your key_token>'

Utilizando ricloud-py

import ricloud

session = ricloud.Session.retrieve(<session ID>)

Lista

GET /sessions

nombre tipo descripción
key filtro de identificación de clave Filtrar por una ID de clave.
user filtro de ID de usuario Filtrar por una identificación de usuario.
source filtro de ID de fuente Filtrar por una ID de fuente.
state filtro de cadena Filtrar por el estado de la sesión.
date_created filtro de fecha y hora Filtrar por cuando se creó la sesión.
date_expired filtro de fecha y hora Filtrar por cuando expiró la sesión.

Usando cURL

curl https://ricloud-api.reincubate.com/sessions \
  -H 'Authorization: Token <your key_token>'

Utilizando ricloud-py

import ricloud

sessions = ricloud.Session.list()

Eliminar DELETE /sessions/{session ID}

Esta interacción expira la sesión y elimina todos los datos en caché asociados con ella en la API. La instancia de recurso de sesión real se conserva para el registro.

Usando cURL

curl https://ricloud-api.reincubate.com/sessions/<session ID> \
  -X DELETE \
  -H 'Authorization: Token <your key_token>'

Utilizando ricloud-py

import ricloud

session = ricloud.Session.delete_with_id(<session ID>)

# OR

session = ricloud.Session.retrieve(<session ID>)

session.delete()

¿Cómo podemos ayudar?

¡Nuestro equipo de soporte está aquí para ayudar!

Nuestro horario de atención es de lunes a viernes de 9 a.m. a 5 p.m. GMT. El tiempo es actualmente 2:26 PM GMT.

Intentamos responder todos los mensajes en un plazo de un día laboral.

Nuestro increíble equipo de soporte.

© 2008 - 2024 Reincubate Ltd. Todos los derechos reservados. Registrado en Inglaterra y Gales #5189175, VAT GB151788978. Reincubate® y Camo® son marcas registradas. Política de privacidad & condiciones.