jamlib 2.6.0b0.dev1__tar.gz → 2.6.0b0.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/PKG-INFO +1 -1
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/pyproject.toml +1 -1
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/__init__.py +1 -1
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/instance.py +29 -1
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/paseto/utils.py +10 -4
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jamlib.egg-info/PKG-INFO +1 -1
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/LICENSE.md +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/README.md +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/setup.cfg +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/__abc_encoder__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/__abc_instances__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/__deprecated__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/__logger__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/instance.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/jwt/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/jwt/lists/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/jwt/lists/json.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/jwt/lists/redis.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/jwt/tools.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/modules.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/oauth2/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/oauth2/builtin/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/oauth2/builtin/github.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/oauth2/builtin/gitlab.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/oauth2/builtin/google.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/oauth2/builtin/yandex.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/oauth2/client.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/sessions/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/sessions/json.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/aio/sessions/redis.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/encoders.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/exceptions/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/exceptions/jwt.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/exceptions/oauth2.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/exceptions/sessions.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/fastapi/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/flask/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/flask/extensions.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/litestar/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/litestar/middlewares.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/litestar/plugins.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/litestar/value.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/starlette/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/starlette/auth_backends.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/ext/starlette/value.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/jwt/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/jwt/__utils__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/jwt/lists/__abc_list_repo__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/jwt/lists/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/jwt/lists/json.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/jwt/lists/redis.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/jwt/tools.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/jwt/types.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/modules.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/oauth2/__abc_oauth2_repo__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/oauth2/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/oauth2/builtin/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/oauth2/builtin/github.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/oauth2/builtin/gitlab.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/oauth2/builtin/google.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/oauth2/builtin/yandex.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/oauth2/client.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/otp/__abc_module__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/otp/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/otp/hotp.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/otp/totp.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/paseto/__abc_paseto_repo__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/paseto/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/paseto/v1.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/paseto/v2.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/paseto/v3.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/paseto/v4.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/quick/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/quick/jwt.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/sessions/__abc_session_repo__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/sessions/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/sessions/json.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/sessions/redis.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/tests/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/tests/clients.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/tests/fakers.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/__init__.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/aes.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/await_maybe.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/config_maker.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/ed.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/otp_keys.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/rsa.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/salt_hash.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/symmetric.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/xchacha20poly1305.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jam/utils/xor.py +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jamlib.egg-info/SOURCES.txt +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jamlib.egg-info/dependency_links.txt +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jamlib.egg-info/requires.txt +0 -0
- {jamlib-2.6.0b0.dev1 → jamlib-2.6.0b0.dev2}/src/jamlib.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jamlib
|
|
3
|
-
Version: 2.6.0b0.
|
|
3
|
+
Version: 2.6.0b0.dev2
|
|
4
4
|
Summary: Simple and universal library for authorization.
|
|
5
5
|
Author-email: Makridenko Adrian <adrianmakridenko@duck.com>, Ksenia Travnikova <kseniatravnikova@duck.com>
|
|
6
6
|
License: MIT License
|
|
@@ -602,6 +602,15 @@ class Jam(BaseJam):
|
|
|
602
602
|
def paseto_make_payload(
|
|
603
603
|
self, exp: Optional[int] = None, **data: dict[str, Any]
|
|
604
604
|
) -> dict[str, Any]:
|
|
605
|
+
"""Generate payload for PASETO.
|
|
606
|
+
|
|
607
|
+
Args:
|
|
608
|
+
exp (int | None): Token expire
|
|
609
|
+
data (dict[str, Any]): Custom data
|
|
610
|
+
|
|
611
|
+
Returns:
|
|
612
|
+
dict: Payload
|
|
613
|
+
"""
|
|
605
614
|
from jam.paseto.utils import payload_maker
|
|
606
615
|
|
|
607
616
|
return payload_maker(expire=exp, data=data)
|
|
@@ -611,10 +620,29 @@ class Jam(BaseJam):
|
|
|
611
620
|
payload: dict[str, Any],
|
|
612
621
|
footer: Optional[Union[dict[str, Any], str]],
|
|
613
622
|
) -> str:
|
|
623
|
+
"""Create new PASETO.
|
|
624
|
+
|
|
625
|
+
Args:
|
|
626
|
+
payload (dict[str, Any]): Payload
|
|
627
|
+
footer (dict | str | None): Footer
|
|
628
|
+
|
|
629
|
+
Returns:
|
|
630
|
+
str: New token
|
|
631
|
+
"""
|
|
614
632
|
return self.paseto.encode(payload=payload, footer=footer)
|
|
615
633
|
|
|
616
634
|
def paseto_decode(
|
|
617
|
-
self, token: str
|
|
635
|
+
self, token: str, check_exp: bool = True, check_list: bool = True
|
|
618
636
|
) -> dict[str, Union[dict, Union[str, dict, None]]]:
|
|
637
|
+
"""Decode PASETO.
|
|
638
|
+
|
|
639
|
+
Args:
|
|
640
|
+
token (str): Token
|
|
641
|
+
check_exp (bool): Check exp in payload
|
|
642
|
+
check_list (bool): Check token in list
|
|
643
|
+
|
|
644
|
+
Returns:
|
|
645
|
+
dict: {'payload' PAYLOAD, 'footer': FOOTER}
|
|
646
|
+
"""
|
|
619
647
|
payload, footer = self.paseto.decode(token)
|
|
620
648
|
return {"payload": payload, "footer": footer}
|
|
@@ -4,7 +4,7 @@ import base64
|
|
|
4
4
|
import hashlib
|
|
5
5
|
import hmac
|
|
6
6
|
from datetime import datetime
|
|
7
|
-
from typing import Any, Literal, Union
|
|
7
|
+
from typing import Any, Literal, Optional, Union
|
|
8
8
|
from uuid import uuid4
|
|
9
9
|
|
|
10
10
|
from jam.paseto import PASETO
|
|
@@ -95,7 +95,9 @@ def init_paseto_instance(
|
|
|
95
95
|
return _paseto.key(purpose, key)
|
|
96
96
|
|
|
97
97
|
|
|
98
|
-
def payload_maker(
|
|
98
|
+
def payload_maker(
|
|
99
|
+
expire: Optional[int], data: dict[str, Any]
|
|
100
|
+
) -> dict[str, Any]:
|
|
99
101
|
"""Generate PASETO payload.
|
|
100
102
|
|
|
101
103
|
```json
|
|
@@ -110,13 +112,17 @@ def payload_maker(expire: int, data: dict[str, Any]) -> dict[str, Any]:
|
|
|
110
112
|
```
|
|
111
113
|
|
|
112
114
|
Args:
|
|
113
|
-
expire (int): Token lifetime
|
|
115
|
+
expire (int | None): Token lifetime
|
|
114
116
|
data (dict[str, Any]): Custom data
|
|
115
117
|
|
|
116
118
|
Returns:
|
|
117
119
|
dict: Payload
|
|
118
120
|
"""
|
|
119
121
|
now = datetime.now().timestamp()
|
|
120
|
-
_payload = {
|
|
122
|
+
_payload = {
|
|
123
|
+
"iat": now,
|
|
124
|
+
"exp": (expire + now) if expire else None,
|
|
125
|
+
"pit": str(uuid4()),
|
|
126
|
+
}
|
|
121
127
|
|
|
122
128
|
return _payload | data
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jamlib
|
|
3
|
-
Version: 2.6.0b0.
|
|
3
|
+
Version: 2.6.0b0.dev2
|
|
4
4
|
Summary: Simple and universal library for authorization.
|
|
5
5
|
Author-email: Makridenko Adrian <adrianmakridenko@duck.com>, Ksenia Travnikova <kseniatravnikova@duck.com>
|
|
6
6
|
License: MIT License
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|