foliolib.folio.api.authtoken.Token

class foliolib.folio.api.authtoken.Token(tenant: str, okapi: Optional[foliolib.okapi.okapiClient.OkapiClient] = None)

Bases: foliolib.folio.FolioApi

mod-authtoken API

Parameters
  • tenant (str) – Tenant id

  • okapi (OkapiClient, optional) – Instance of OkapiClient. Defaults to None.

Methods

token_legacy(signTokenPayload)

Sign token legacy

token_refresh(refreshToken)

Get a new refresh token and a new access token

token_sign(signTokenPayload)

Sign token

token_sign_legacy(signRefreshToken)

Sign token

token_legacy(signTokenPayload)

Sign token legacy

POST /token

Parameters

signTokenPayload (dict) – See Schema below.

Returns

See Schema below.

Return type

dict

Raises
  • OkapiRequestError – Bad request

  • OkapiFatalError – Internal error

Schema

{
    "description": "The POST body for the request to generate a signed token",
    "type": "object",
    "properties": {
        "payload": {
            "type": "object",
            "description": "The payload of the token signing request",
            "properties": {
                "sub": {
                    "type": "string",
                    "description": "The subject (the username) for the user"
                }
            },
            "required": [
                "sub"
            ],
            "additionalProperties": true
        }
    },
    "required": [
        "payload"
    ],
    "additionalProperties": false
}
{
    "description": "The signed JWT token based on the payload",
    "type": "object",
    "properties": {
        "token": {
            "type": "string",
            "description": "The JWT token"
        }
    },
    "required": [
        "token"
    ],
    "additionalProperties": false
}
token_refresh(refreshToken)

Get a new refresh token and a new access token

POST /token/refresh

Parameters

refreshToken (dict) – See Schema below.

Returns

See Schema below.

Return type

dict

Raises
  • OkapiRequestError – Bad request

  • OkapiFatalError – Internal error

Schema

{
    "description": "The refresh token being presented to get a new refresh token and access token",
    "type": "object",
    "properties": {
        "refreshToken": {
            "type": "string",
            "description": "The JWE refresh token"
        }
    },
    "required": [
        "refreshToken"
    ],
    "additionalProperties": false
}
{
    "description": "A JWT access token and a JWE refresh token",
    "type": "object",
    "properties": {
        "refreshToken": {
            "type": "string",
            "description": "A JWE refresh token"
        },
        "accessToken": {
            "type": "string",
            "description": "A JWT access token"
        }
    },
    "required": [
        "refreshToken",
        "accessToken"
    ],
    "additionalProperties": false
}
token_sign(signTokenPayload)

Sign token

POST /token/sign

Parameters

signTokenPayload (dict) – See Schema below.

Returns

See Schema below.

Return type

dict

Raises
  • OkapiRequestError – Bad request

  • OkapiFatalError – Internal error

Schema

{
    "description": "The POST body for the request to generate a signed token",
    "type": "object",
    "properties": {
        "payload": {
            "type": "object",
            "description": "The payload of the token signing request",
            "properties": {
                "sub": {
                    "type": "string",
                    "description": "The subject (the username) for the user"
                }
            },
            "required": [
                "sub"
            ],
            "additionalProperties": true
        }
    },
    "required": [
        "payload"
    ],
    "additionalProperties": false
}
{
    "description": "A signed JWT token when used in the context of a dummy token. Otherwise, a signed JWT access token and a signed JWE refresh token.",
    "type": "object",
    "properties": {
        "token": {
            "type": "string",
            "description": "A dummy token"
        },
        "refreshToken": {
            "type": "string",
            "description": "A refresh token"
        },
        "accessToken": {
            "type": "string",
            "description": "An access token"
        }
    },
    "additionalProperties": false
}
token_sign_legacy(signRefreshToken)

Sign token

POST /refreshtoken

Parameters

signRefreshToken (dict) – See Schema below.

Returns

See Schema below.

Return type

dict

Raises
  • OkapiRequestError – Bad request

  • OkapiFatalError – Internal error

Schema

{
    "description": "The request to sign a new refresh token",
    "type": "object",
    "properties": {
        "userId": {
            "type": "string",
            "description": "The user id of the request",
            "format": "uuid"
        },
        "sub": {
            "type": "string",
            "description": "The subject (user id) of the request"
        }
    },
    "required": [
        "userId",
        "sub"
    ],
    "additionalProperties": false
}
{
    "description": "The signed JWT token based on the payload",
    "type": "object",
    "properties": {
        "token": {
            "type": "string",
            "description": "The JWT token"
        }
    },
    "required": [
        "token"
    ],
    "additionalProperties": false
}