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.
Files changed (100) hide show
  1. {jamlib-3.0.0b12.dev2/src/jamlib.egg-info → jamlib-3.0.0b12.dev3}/PKG-INFO +1 -1
  2. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/pyproject.toml +1 -1
  3. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/__init__.py +1 -1
  4. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/litestar/__init__.py +7 -1
  5. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/litestar/middleware.py +23 -0
  6. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/litestar/plugins.py +14 -3
  7. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3/src/jamlib.egg-info}/PKG-INFO +1 -1
  8. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/LICENSE.md +0 -0
  9. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/README.md +0 -0
  10. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/setup.cfg +0 -0
  11. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/__base__.py +0 -0
  12. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/__base_encoder__.py +0 -0
  13. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/__deprecated__.py +0 -0
  14. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/__base__.py +0 -0
  15. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/__init__.py +0 -0
  16. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/instance.py +0 -0
  17. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/jwt/__init__.py +0 -0
  18. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/__base__.py +0 -0
  19. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/__init__.py +0 -0
  20. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/builtin/__init__.py +0 -0
  21. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/builtin/github.py +0 -0
  22. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/builtin/gitlab.py +0 -0
  23. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/builtin/google.py +0 -0
  24. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/builtin/yandex.py +0 -0
  25. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/oauth2/client.py +0 -0
  26. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/sessions/__base__.py +0 -0
  27. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/sessions/__init__.py +0 -0
  28. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/sessions/json.py +0 -0
  29. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/aio/sessions/redis.py +0 -0
  30. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/encoders.py +0 -0
  31. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/__init__.py +0 -0
  32. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/base.py +0 -0
  33. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/jwt.py +0 -0
  34. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/oauth2.py +0 -0
  35. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/paseto.py +0 -0
  36. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/plugins.py +0 -0
  37. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/exceptions/sessions.py +0 -0
  38. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/__init__.py +0 -0
  39. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/fastapi/__init__.py +0 -0
  40. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/flask/__init__.py +0 -0
  41. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/flask/extensions.py +0 -0
  42. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/litestar/objects.py +0 -0
  43. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/starlette/__init__.py +0 -0
  44. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/starlette/auth_backends.py +0 -0
  45. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/ext/starlette/value.py +0 -0
  46. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/instance.py +0 -0
  47. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/__algorithms__.py +0 -0
  48. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/__base__.py +0 -0
  49. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/__init__.py +0 -0
  50. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/__types__.py +0 -0
  51. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/lists/__abc_list_repo__.py +0 -0
  52. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/lists/__init__.py +0 -0
  53. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/lists/json.py +0 -0
  54. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/lists/redis.py +0 -0
  55. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/module.py +0 -0
  56. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/jwt/utils.py +0 -0
  57. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/logger.py +0 -0
  58. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/__base__.py +0 -0
  59. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/__init__.py +0 -0
  60. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/builtin/__init__.py +0 -0
  61. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/builtin/github.py +0 -0
  62. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/builtin/gitlab.py +0 -0
  63. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/builtin/google.py +0 -0
  64. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/builtin/yandex.py +0 -0
  65. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/oauth2/client.py +0 -0
  66. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/otp/__base__.py +0 -0
  67. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/otp/__init__.py +0 -0
  68. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/otp/hotp.py +0 -0
  69. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/otp/totp.py +0 -0
  70. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/__base__.py +0 -0
  71. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/__init__.py +0 -0
  72. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/utils.py +0 -0
  73. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/v1.py +0 -0
  74. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/v2.py +0 -0
  75. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/v3.py +0 -0
  76. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/paseto/v4.py +0 -0
  77. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/py.typed +0 -0
  78. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/sessions/__base__.py +0 -0
  79. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/sessions/__init__.py +0 -0
  80. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/sessions/json.py +0 -0
  81. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/sessions/redis.py +0 -0
  82. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/tests/__init__.py +0 -0
  83. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/tests/clients.py +0 -0
  84. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/tests/fakers.py +0 -0
  85. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/__init__.py +0 -0
  86. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/aes.py +0 -0
  87. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/await_maybe.py +0 -0
  88. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/basic_auth.py +0 -0
  89. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/config_maker.py +0 -0
  90. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/ed.py +0 -0
  91. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/otp_keys.py +0 -0
  92. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/rsa.py +0 -0
  93. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/salt_hash.py +0 -0
  94. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/symmetric.py +0 -0
  95. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/xchacha20poly1305.py +0 -0
  96. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jam/utils/xor.py +0 -0
  97. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jamlib.egg-info/SOURCES.txt +0 -0
  98. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jamlib.egg-info/dependency_links.txt +0 -0
  99. {jamlib-3.0.0b12.dev2 → jamlib-3.0.0b12.dev3}/src/jamlib.egg-info/requires.txt +0 -0
  100. {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.dev2
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "jamlib"
3
- version = "3.0.0b12.dev2"
3
+ version = "3.0.0b12.dev3"
4
4
  description = "Simple and universal library for authorization."
5
5
  authors = [
6
6
  {name = "Makridenko Adrian",email = "adrianmakridenko@duck.com"},
@@ -12,5 +12,5 @@ from jam.encoders import JsonEncoder
12
12
  from jam.instance import Jam
13
13
 
14
14
 
15
- __version__ = "3.0.0b12.dev2"
15
+ __version__ = "3.0.0b12.dev3"
16
16
  __all__ = ["Jam", "JsonEncoder", "BaseJam", "BaseEncoder"]
@@ -12,7 +12,12 @@ from .objects import (
12
12
  Token
13
13
  )
14
14
 
15
- from .plugins import BasePlugin, JamJWTPlugin, JamSessionPlugin
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
- """Redis sessions plugin for litestar."""
97
+ """Sessions plugin for litestar."""
96
98
 
97
- MODULE = staticmethod(create_instance)
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.dev2
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