세션 수
세션 객체는 특정 소스에 대한 액세스를 나타냅니다.
API가 대상 소스 서비스로 액세스를 확인할 수있을 때까지 세션은 항상 보류 상태로 작성됩니다.
대상 소스의 서비스가 액세스를 취소하면 세션이 만료 된 상태로 전환됩니다.
세션을 클라이언트가 업데이트 할 수 없습니다.
속성
이름 | 유형 | 기술 |
---|---|---|
id | 끈 | 자원 식별자. |
resource | 문자열, 항상 session | 자원 유형 식별자. |
organisation | 조직 ID | 세션이 연결된 조직. |
key | 키 ID | 이 자원과 관련된 키입니다. |
user | 사용자 아이디 | 세션이 연결된 사용자입니다. |
source | 중첩 소스 | 세션이 연결된 소스 인스턴스입니다. |
state | 끈 | 다음 중 하나입니다 : pending , active , failed , expired . |
error | 끈 | 세션이 만료 된 이유를 나타내는 코드입니다. |
date_created | 날짜 시간 | 리소스가 생성 된 시점. |
date_expired | 날짜 시간 | 자원이 만료 된시기 |
주
-
pending
- 세션이 아직 초기화되지 않았습니다.
-
active
- 세션을 사용하여 작업을 제출할 준비가되었습니다.
-
failed
- 세션 초기화에 실패했습니다.
-
expired
- 세션이 무효화되었습니다.
오류
세션에는 초기화 오류와 만료 오류의 두 가지 유형의 오류가있을 수 있습니다.
세션 초기화 오류는 일반적으로 사용자 이름이나 암호가 잘못되었거나 2FA 인증이 필요하거나 다른 이유로 일부 서비스가 소스에 액세스하지 못하기 때문에 발생합니다. 이러한 오류에는 init_failed
오류 유형이 있습니다.
대부분의 세션은 결국 만료됩니다. 더 많은 세션 수명 정보는 서비스 별 문서에서 찾을 수 있습니다. 그러나 세션 만료에 대한 다양한 트리거가 있습니다.
service
- 타사 서비스가 세션을 무효화했습니다. 이는 대개 타사 서비스의 세션 시간 초과로 인한 것입니다 (즉 세션은 24 시간 만 지속될 수 있음). 그러나 소스의 소유자가 자격 증명을 변경하면 기존 세션이 무효화되거나 침입자 검색 시스템과 같은 서비스의 보안 기능에 의해 트리거 될 수 있기 때문에 이로 인해 발생할 수 있습니다.
api
- API는 비활성 세션을 주기적으로 무효화합니다.
organisation
- 조직은 아마도 최종 사용자를 대신하여 세션을 무효화했습니다.
admin
- API 관리자가 세션을 무효화했습니다.
POST /sessions
만들기
매개 변수
이름 | 유형 | 기술 |
---|---|---|
source | 필수 | 이 세션의 소스가 연결됩니다. 내용은 소스 생성 스키마를 따라야합니다. |
payload | 필수 | 세션 초기화 페이로드입니다. 필요한 내용은 소스가 속한 서비스에 따라 다 (니다. |
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" } }'
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 사용
curl https://ricloud-api.reincubate.com/sessions/<session ID> \ -H 'Authorization: Token <your key_token>'
ricloud-py 사용하기
import ricloud session = ricloud.Session.retrieve(<session ID>)
명부
GET /sessions
이름 | 유형 | 기술 |
---|---|---|
key | 키 ID 필터 | 키 ID로 필터링하십시오. |
user | 사용자 ID 필터 | 사용자 ID별로 필터링하십시오. |
source | 소스 ID 필터 | 소스 ID별로 필터링하십시오. |
state | 문자열 필터 | 세션 상태별로 필터링하십시오. |
date_created | 날짜 시간 필터 | 세션이 생성되었을 때 필터링. |
date_expired | 날짜 시간 필터 | 세션이 만료되었을 때 필터링 |
cURL 사용
curl https://ricloud-api.reincubate.com/sessions \ -H 'Authorization: Token <your key_token>'
ricloud-py 사용하기
import ricloud sessions = ricloud.Session.list()
삭제 DELETE /sessions/{session ID}
이 상호 작용은 세션을 만료시키고 API에서 캐시 된 모든 데이터를 삭제합니다. 실제 세션 리소스 인스턴스는 레코드에 대해 유지됩니다.
cURL 사용
curl https://ricloud-api.reincubate.com/sessions/<session ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
ricloud-py 사용하기
import ricloud session = ricloud.Session.delete_with_id(<session ID>) # OR session = ricloud.Session.retrieve(<session ID>) session.delete()