Skip to content

jam.jose.lists.redis

redis

Classes:

Name Description
RedisList

Redis-based JWT black/white list.

RedisList

RedisList(
    type: Literal["white", "black"],
    prefix: str = "jwt_list",
    redis_uri: str | Redis | None = None,
    redis: Redis | None = None,
    ttl: int | None = None,
    logger: BaseLogger | None = None,
)

Bases: BaseJWTList

Redis-based JWT black/white list.

Most optimal for production use with TTL support.

Dependency required: pip install jamlib[redis]

Attributes:

Name Type Description
_redis Redis

Redis instance.

_prefix str

Key prefix.

Methods:

Name Description
add

add single token to list

add_many

add multiple tokens to list

check

check if token exists in list

check_many

check multiple tokens in list

delete

remove token from list

delete_many

remove multiple tokens from list

Parameters:

Name Type Description Default
type Literal['white', 'black']

Type of list.

required
prefix str

Key prefix for Redis keys.

'jwt_list'
redis_uri str | Redis

Redis connection URI or Redis instance.

None
redis Redis | None

Redis instance (alias for redis_uri).

None
ttl int | None

Token TTL in seconds.

None
logger BaseLogger | None

Logger instance.

None

add

add(token: str) -> None

Add a single token to the list.

Parameters:

Name Type Description Default
token str

JWT token.

required

add_many

add_many(tokens: list[str]) -> None

Add multiple tokens to the list.

Parameters:

Name Type Description Default
tokens list[str]

List of JWT tokens.

required

check

check(token: str) -> bool

Check if a token is present in the list.

Parameters:

Name Type Description Default
token str

JWT token.

required

Returns:

Name Type Description
bool bool

True if token exists in list.

check_many

check_many(tokens: list[str]) -> dict[str, bool]

Check multiple tokens in the list.

Parameters:

Name Type Description Default
tokens list[str]

List of JWT tokens.

required

Returns:

Type Description
dict[str, bool]

dict[str, bool]: Mapping of token to presence.

delete

delete(token: str) -> None

Remove a token from the list.

Parameters:

Name Type Description Default
token str

JWT token.

required

delete_many

delete_many(tokens: list[str]) -> None

Remove multiple tokens from the list.

Parameters:

Name Type Description Default
tokens list[str]

List of JWT tokens.

required