URL Safe Serialization¶
Often it is helpful if you can pass these trusted strings in places where you only have a limited set of characters available. Because of this, ItsDangerous also provides URL safe serializers:
from itsdangerous.url_safe import URLSafeSerializer
s = URLSafeSerializer("secret-key")
s.dumps([1, 2, 3, 4])
'WzEsMiwzLDRd.wSPHqC0gR7VUqivlSukJ0IeTDgo'
s.loads("WzEsMiwzLDRd.wSPHqC0gR7VUqivlSukJ0IeTDgo")
[1, 2, 3, 4]
- class itsdangerous.url_safe.URLSafeSerializer(secret_key: str | bytes | collections.abc.Iterable[str] | collections.abc.Iterable[bytes], salt: str | bytes | None = b'itsdangerous', serializer: Union[None, _PDataSerializer[str]] = None, serializer_kwargs: dict[str, Any] | None = None, signer: type[itsdangerous.signer.Signer] | None = None, signer_kwargs: dict[str, Any] | None = None, fallback_signers: list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]] | None = None)¶
- class itsdangerous.url_safe.URLSafeSerializer(secret_key: str | bytes | collections.abc.Iterable[str] | collections.abc.Iterable[bytes], salt: str | bytes | None, serializer: _PDataSerializer[bytes], serializer_kwargs: dict[str, Any] | None = None, signer: type[itsdangerous.signer.Signer] | None = None, signer_kwargs: dict[str, Any] | None = None, fallback_signers: list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]] | None = None)
- class itsdangerous.url_safe.URLSafeSerializer(secret_key: str | bytes | collections.abc.Iterable[str] | collections.abc.Iterable[bytes], salt: str | bytes | None = b'itsdangerous', *, serializer: _PDataSerializer[bytes], serializer_kwargs: dict[str, Any] | None = None, signer: type[itsdangerous.signer.Signer] | None = None, signer_kwargs: dict[str, Any] | None = None, fallback_signers: list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]] | None = None)
- class itsdangerous.url_safe.URLSafeSerializer(secret_key: str | bytes | collections.abc.Iterable[str] | collections.abc.Iterable[bytes], salt: str | bytes | None, serializer: Any, serializer_kwargs: dict[str, Any] | None = None, signer: type[itsdangerous.signer.Signer] | None = None, signer_kwargs: dict[str, Any] | None = None, fallback_signers: list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]] | None = None)
- class itsdangerous.url_safe.URLSafeSerializer(secret_key: str | bytes | collections.abc.Iterable[str] | collections.abc.Iterable[bytes], salt: str | bytes | None = b'itsdangerous', *, serializer: Any, serializer_kwargs: dict[str, Any] | None = None, signer: type[itsdangerous.signer.Signer] | None = None, signer_kwargs: dict[str, Any] | None = None, fallback_signers: list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]] | None = None)
Works like
Serializer
but dumps and loads into a URL safe string consisting of the upper and lowercase character of the alphabet as well as'_'
,'-'
and'.'
.- Parameters:
secret_key (str | bytes | cabc.Iterable[str] | cabc.Iterable[bytes]) –
salt (str | bytes | None) –
serializer (_PDataSerializer[_TSerialized]) –
serializer_kwargs (dict[str, Any]) –
signer (type[itsdangerous.signer.Signer]) –
signer_kwargs (dict[str, Any]) –
fallback_signers (list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]]) –
- class itsdangerous.url_safe.URLSafeTimedSerializer(secret_key: str | bytes | collections.abc.Iterable[str] | collections.abc.Iterable[bytes], salt: str | bytes | None = b'itsdangerous', serializer: Union[None, _PDataSerializer[str]] = None, serializer_kwargs: dict[str, Any] | None = None, signer: type[itsdangerous.signer.Signer] | None = None, signer_kwargs: dict[str, Any] | None = None, fallback_signers: list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]] | None = None)¶
- class itsdangerous.url_safe.URLSafeTimedSerializer(secret_key: str | bytes | collections.abc.Iterable[str] | collections.abc.Iterable[bytes], salt: str | bytes | None, serializer: _PDataSerializer[bytes], serializer_kwargs: dict[str, Any] | None = None, signer: type[itsdangerous.signer.Signer] | None = None, signer_kwargs: dict[str, Any] | None = None, fallback_signers: list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]] | None = None)
- class itsdangerous.url_safe.URLSafeTimedSerializer(secret_key: str | bytes | collections.abc.Iterable[str] | collections.abc.Iterable[bytes], salt: str | bytes | None = b'itsdangerous', *, serializer: _PDataSerializer[bytes], serializer_kwargs: dict[str, Any] | None = None, signer: type[itsdangerous.signer.Signer] | None = None, signer_kwargs: dict[str, Any] | None = None, fallback_signers: list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]] | None = None)
- class itsdangerous.url_safe.URLSafeTimedSerializer(secret_key: str | bytes | collections.abc.Iterable[str] | collections.abc.Iterable[bytes], salt: str | bytes | None, serializer: Any, serializer_kwargs: dict[str, Any] | None = None, signer: type[itsdangerous.signer.Signer] | None = None, signer_kwargs: dict[str, Any] | None = None, fallback_signers: list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]] | None = None)
- class itsdangerous.url_safe.URLSafeTimedSerializer(secret_key: str | bytes | collections.abc.Iterable[str] | collections.abc.Iterable[bytes], salt: str | bytes | None = b'itsdangerous', *, serializer: Any, serializer_kwargs: dict[str, Any] | None = None, signer: type[itsdangerous.signer.Signer] | None = None, signer_kwargs: dict[str, Any] | None = None, fallback_signers: list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]] | None = None)
Works like
TimedSerializer
but dumps and loads into a URL safe string consisting of the upper and lowercase character of the alphabet as well as'_'
,'-'
and'.'
.- Parameters:
secret_key (str | bytes | cabc.Iterable[str] | cabc.Iterable[bytes]) –
salt (str | bytes | None) –
serializer (_PDataSerializer[_TSerialized]) –
serializer_kwargs (dict[str, Any]) –
signer (type[itsdangerous.signer.Signer]) –
signer_kwargs (dict[str, Any]) –
fallback_signers (list[dict[str, Any] | tuple[type[itsdangerous.signer.Signer], dict[str, Any]] | type[itsdangerous.signer.Signer]]) –