jamlib 3.0.0b13.dev1__tar.gz → 3.0.0b14__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.0b13.dev1/src/jamlib.egg-info → jamlib-3.0.0b14}/PKG-INFO +1 -1
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/pyproject.toml +1 -1
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/__init__.py +1 -1
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/starlette/__init__.py +3 -1
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/starlette/backends.py +43 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14/src/jamlib.egg-info}/PKG-INFO +1 -1
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/LICENSE.md +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/README.md +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/setup.cfg +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/__base__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/__base_encoder__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/__deprecated__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/__base__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/instance.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/jwt/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/oauth2/__base__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/oauth2/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/oauth2/builtin/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/oauth2/builtin/github.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/oauth2/builtin/gitlab.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/oauth2/builtin/google.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/oauth2/builtin/yandex.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/oauth2/client.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/sessions/__base__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/sessions/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/sessions/json.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/aio/sessions/redis.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/encoders.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/exceptions/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/exceptions/base.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/exceptions/jwt.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/exceptions/oauth2.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/exceptions/paseto.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/exceptions/plugins.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/exceptions/sessions.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/fastapi/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/flask/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/flask/extensions.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/litestar/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/litestar/middleware.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/litestar/objects.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/litestar/plugins.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/ext/starlette/objects.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/instance.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/jwt/__algorithms__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/jwt/__base__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/jwt/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/jwt/__types__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/jwt/lists/__abc_list_repo__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/jwt/lists/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/jwt/lists/json.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/jwt/lists/redis.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/jwt/module.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/jwt/utils.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/logger.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/oauth2/__base__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/oauth2/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/oauth2/builtin/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/oauth2/builtin/github.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/oauth2/builtin/gitlab.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/oauth2/builtin/google.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/oauth2/builtin/yandex.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/oauth2/client.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/otp/__base__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/otp/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/otp/hotp.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/otp/totp.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/paseto/__base__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/paseto/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/paseto/utils.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/paseto/v1.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/paseto/v2.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/paseto/v3.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/paseto/v4.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/py.typed +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/sessions/__base__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/sessions/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/sessions/json.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/sessions/redis.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/tests/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/tests/clients.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/tests/fakers.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/__init__.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/aes.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/await_maybe.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/basic_auth.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/config_maker.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/ed.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/otp_keys.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/rsa.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/salt_hash.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/symmetric.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/xchacha20poly1305.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jam/utils/xor.py +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jamlib.egg-info/SOURCES.txt +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jamlib.egg-info/dependency_links.txt +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/src/jamlib.egg-info/requires.txt +0 -0
- {jamlib-3.0.0b13.dev1 → jamlib-3.0.0b14}/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.
|
|
3
|
+
Version: 3.0.0b14
|
|
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
|
|
@@ -6,11 +6,13 @@ Starlette docs: https://starlette.dev
|
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
8
|
from .objects import BaseUser, SimpleUser
|
|
9
|
-
from .backends import JWTBackend
|
|
9
|
+
from .backends import JWTBackend, SessionBackend, PASETOBackend
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
__all__ = [
|
|
13
13
|
"BaseUser",
|
|
14
14
|
"SimpleUser",
|
|
15
15
|
"JWTBackend",
|
|
16
|
+
"SessionBackend",
|
|
17
|
+
"PASETOBackend",
|
|
16
18
|
]
|
|
@@ -11,9 +11,11 @@ from starlette.authentication import (
|
|
|
11
11
|
from starlette.authentication import BaseUser as StarletteBaseUser
|
|
12
12
|
from starlette.requests import HTTPConnection
|
|
13
13
|
|
|
14
|
+
from jam.aio.sessions import create_instance as create_session
|
|
14
15
|
from jam.exceptions import JamStarlettePluginConfigError
|
|
15
16
|
from jam.ext.starlette.objects import BaseUser, SimpleUser
|
|
16
17
|
from jam.jwt import JWT
|
|
18
|
+
from jam.paseto import create_instance as create_paseto
|
|
17
19
|
from jam.utils.config_maker import GENERIC_POINTER, __config_maker__
|
|
18
20
|
|
|
19
21
|
|
|
@@ -101,6 +103,7 @@ class JWTBackend(BaseBackend):
|
|
|
101
103
|
async def authenticate( # noqa
|
|
102
104
|
self, conn: HTTPConnection
|
|
103
105
|
) -> tuple[AuthCredentials, StarletteBaseUser] | None:
|
|
106
|
+
setattr(conn.state, "jwt", self._auth)
|
|
104
107
|
token = self._get_auth_token(conn)
|
|
105
108
|
if token:
|
|
106
109
|
data = self._auth.decode(token)
|
|
@@ -108,3 +111,43 @@ class JWTBackend(BaseBackend):
|
|
|
108
111
|
return AuthCredentials(["authenticated"]), user
|
|
109
112
|
|
|
110
113
|
return AuthCredentials(None), UnauthenticatedUser()
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
class SessionBackend(BaseBackend):
|
|
117
|
+
"""Session backend."""
|
|
118
|
+
|
|
119
|
+
MODULE = staticmethod(create_session)
|
|
120
|
+
_CONFIG_KEY = "sessions"
|
|
121
|
+
|
|
122
|
+
async def authenticate( # noqa
|
|
123
|
+
self, conn: HTTPConnection
|
|
124
|
+
) -> tuple[AuthCredentials, StarletteBaseUser] | None:
|
|
125
|
+
setattr(conn.state, "session", self._auth)
|
|
126
|
+
session_id = self._get_auth_token(conn)
|
|
127
|
+
if session_id:
|
|
128
|
+
data = await self._auth.get(session_id)
|
|
129
|
+
if data:
|
|
130
|
+
user = self._user.from_payload(data)
|
|
131
|
+
return AuthCredentials(["authenticated"]), user
|
|
132
|
+
|
|
133
|
+
return AuthCredentials(None), UnauthenticatedUser()
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class PASETOBackend(BaseBackend):
|
|
137
|
+
"""PASETO auth backend."""
|
|
138
|
+
|
|
139
|
+
MODULE = staticmethod(create_paseto)
|
|
140
|
+
_CONFIG_KEY = "paseto"
|
|
141
|
+
|
|
142
|
+
async def authenticate( # noqa
|
|
143
|
+
self, conn: HTTPConnection
|
|
144
|
+
) -> tuple[AuthCredentials, StarletteBaseUser] | None:
|
|
145
|
+
setattr(conn.state, "paseto", self._auth)
|
|
146
|
+
token = self._get_auth_token(conn)
|
|
147
|
+
if token:
|
|
148
|
+
data = self._auth.decode(token)
|
|
149
|
+
if data:
|
|
150
|
+
user = self._user.from_payload(data)
|
|
151
|
+
return AuthCredentials(["authenticated"]), user
|
|
152
|
+
|
|
153
|
+
return AuthCredentials(None), UnauthenticatedUser()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jamlib
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.0b14
|
|
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
|
|
File without changes
|