jamlib 3.0.0b12.dev2__tar.gz → 3.0.0b12.dev3__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-3.0.0b12.dev2/src/jamlib.egg-info → jamlib-3.0.0b12.dev3}/PKG-INFO +1 -1
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/pyproject.toml +1 -1
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/__init__.py +1 -1
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/litestar/__init__.py +7 -1
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/litestar/middleware.py +23 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/litestar/plugins.py +14 -3
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3/src/jamlib.egg-info}/PKG-INFO +1 -1
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/LICENSE.md +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/README.md +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/setup.cfg +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/__base__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/__base_encoder__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/__deprecated__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/__base__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/instance.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/jwt/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/__base__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/builtin/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/builtin/github.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/builtin/gitlab.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/builtin/google.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/builtin/yandex.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/client.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/sessions/__base__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/sessions/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/sessions/json.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/sessions/redis.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/encoders.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/base.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/jwt.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/oauth2.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/paseto.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/plugins.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/sessions.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/fastapi/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/flask/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/flask/extensions.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/litestar/objects.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/starlette/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/starlette/auth_backends.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/starlette/value.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/instance.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/__algorithms__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/__base__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/__types__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/lists/__abc_list_repo__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/lists/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/lists/json.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/lists/redis.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/module.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/utils.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/logger.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/__base__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/builtin/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/builtin/github.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/builtin/gitlab.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/builtin/google.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/builtin/yandex.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/client.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/otp/__base__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/otp/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/otp/hotp.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/otp/totp.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/__base__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/utils.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/v1.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/v2.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/v3.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/v4.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/py.typed +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/sessions/__base__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/sessions/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/sessions/json.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/sessions/redis.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/tests/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/tests/clients.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/tests/fakers.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/__init__.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/aes.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/await_maybe.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/basic_auth.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/config_maker.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/ed.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/otp_keys.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/rsa.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/salt_hash.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/symmetric.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/xchacha20poly1305.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/xor.py +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jamlib.egg-info/SOURCES.txt +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jamlib.egg-info/dependency_links.txt +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jamlib.egg-info/requires.txt +0 -0
- {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/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: 3.0.0b12.
|
|
3
|
+
Version: 3.0.0b12.dev3
|
|
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: Apache-2.0
|
|
@@ -12,7 +12,12 @@ from .objects import (
|
|
|
12
12
|
Token
|
|
13
13
|
)
|
|
14
14
|
|
|
15
|
-
from .plugins import
|
|
15
|
+
from .plugins import (
|
|
16
|
+
BasePlugin,
|
|
17
|
+
JamJWTPlugin,
|
|
18
|
+
JamSessionPlugin,
|
|
19
|
+
JamPASETOPlugin
|
|
20
|
+
)
|
|
16
21
|
|
|
17
22
|
__all__ = [
|
|
18
23
|
"BaseUser",
|
|
@@ -21,4 +26,5 @@ __all__ = [
|
|
|
21
26
|
"BasePlugin",
|
|
22
27
|
"JamJWTPlugin",
|
|
23
28
|
"JamSessionPlugin",
|
|
29
|
+
"JamPASETOPlugin",
|
|
24
30
|
]
|
|
@@ -12,6 +12,7 @@ from jam.aio.sessions.__base__ import BaseAsyncSessionModule
|
|
|
12
12
|
from jam.exceptions import JamLitestarPluginConfigError, JamLitestarPluginError
|
|
13
13
|
from jam.ext.litestar.objects import BaseUser, Token
|
|
14
14
|
from jam.jwt import JWT
|
|
15
|
+
from jam.paseto import BasePASETO
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
class BaseMiddleware(AbstractAuthenticationMiddleware):
|
|
@@ -79,3 +80,25 @@ class SessionMiddleware(BaseMiddleware):
|
|
|
79
80
|
return AuthenticationResult(user, token)
|
|
80
81
|
except Exception as e:
|
|
81
82
|
raise JamLitestarPluginError(message=str(e))
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class PASETOMiddleware(BaseMiddleware):
|
|
86
|
+
"""Middleware for PASETO."""
|
|
87
|
+
|
|
88
|
+
AUTH_MODULE: BasePASETO
|
|
89
|
+
|
|
90
|
+
async def authenticate_request( # noqa
|
|
91
|
+
self, connection: ASGIConnection
|
|
92
|
+
) -> AuthenticationResult:
|
|
93
|
+
token = self._get_auth_token(connection)
|
|
94
|
+
token_model = Token(token=token)
|
|
95
|
+
if not token:
|
|
96
|
+
return AuthenticationResult(None, auth=token_model)
|
|
97
|
+
try:
|
|
98
|
+
data = self.AUTH_MODULE.decode(token)
|
|
99
|
+
if not data:
|
|
100
|
+
return AuthenticationResult(None, auth=token_model)
|
|
101
|
+
user = self.USER.from_payload(data)
|
|
102
|
+
return AuthenticationResult(user, token)
|
|
103
|
+
except Exception as e:
|
|
104
|
+
raise JamLitestarPluginError(message=str(e))
|
|
@@ -7,15 +7,17 @@ from litestar.config.app import AppConfig
|
|
|
7
7
|
from litestar.di import Provide
|
|
8
8
|
from litestar.plugins import InitPlugin
|
|
9
9
|
|
|
10
|
-
from jam.aio.sessions import create_instance
|
|
10
|
+
from jam.aio.sessions import create_instance as create_session
|
|
11
11
|
from jam.exceptions import JamLitestarPluginConfigError
|
|
12
12
|
from jam.ext.litestar.middleware import (
|
|
13
13
|
BaseMiddleware,
|
|
14
14
|
JWTMiddleware,
|
|
15
|
+
PASETOMiddleware,
|
|
15
16
|
SessionMiddleware,
|
|
16
17
|
)
|
|
17
18
|
from jam.ext.litestar.objects import BaseUser
|
|
18
19
|
from jam.jwt import JWT
|
|
20
|
+
from jam.paseto import create_instance as create_paseto
|
|
19
21
|
from jam.utils.config_maker import GENERIC_POINTER, __config_maker__
|
|
20
22
|
|
|
21
23
|
|
|
@@ -92,9 +94,18 @@ class JamJWTPlugin(BasePlugin):
|
|
|
92
94
|
|
|
93
95
|
|
|
94
96
|
class JamSessionPlugin(BasePlugin):
|
|
95
|
-
"""
|
|
97
|
+
"""Sessions plugin for litestar."""
|
|
96
98
|
|
|
97
|
-
MODULE = staticmethod(
|
|
99
|
+
MODULE = staticmethod(create_session)
|
|
98
100
|
_MIDDLEWARE = SessionMiddleware
|
|
99
101
|
_DI_KEY = "session"
|
|
100
102
|
_CONFIG_KEY = "sessions"
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class JamPASETOPlugin(BasePlugin):
|
|
106
|
+
"""PASETO plugin for litestar."""
|
|
107
|
+
|
|
108
|
+
MODULE = staticmethod(create_paseto)
|
|
109
|
+
_MIDDLEWARE = PASETOMiddleware
|
|
110
|
+
_DI_KEY = "paseto"
|
|
111
|
+
_CONFIG_KEY = "paseto"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jamlib
|
|
3
|
-
Version: 3.0.0b12.
|
|
3
|
+
Version: 3.0.0b12.dev3
|
|
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: Apache-2.0
|
|
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
|
|
File without changes
|