mdb-engine 0.5.1__py3-none-any.whl → 0.7.0__py3-none-any.whl
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.
- mdb_engine/__init__.py +13 -9
- mdb_engine/auth/__init__.py +18 -0
- mdb_engine/auth/csrf.py +651 -69
- mdb_engine/auth/provider.py +10 -0
- mdb_engine/auth/shared_users.py +73 -2
- mdb_engine/auth/users.py +2 -1
- mdb_engine/auth/utils.py +31 -6
- mdb_engine/auth/websocket_sessions.py +433 -0
- mdb_engine/auth/websocket_tickets.py +307 -0
- mdb_engine/core/app_registration.py +10 -0
- mdb_engine/core/engine.py +656 -21
- mdb_engine/core/manifest.py +26 -0
- mdb_engine/core/ray_integration.py +4 -4
- mdb_engine/core/types.py +2 -0
- mdb_engine/database/connection.py +6 -3
- mdb_engine/database/scoped_wrapper.py +3 -3
- mdb_engine/indexes/manager.py +3 -3
- mdb_engine/observability/health.py +7 -7
- mdb_engine/routing/README.md +9 -2
- mdb_engine/routing/websockets.py +479 -56
- {mdb_engine-0.5.1.dist-info → mdb_engine-0.7.0.dist-info}/METADATA +128 -4
- {mdb_engine-0.5.1.dist-info → mdb_engine-0.7.0.dist-info}/RECORD +26 -24
- {mdb_engine-0.5.1.dist-info → mdb_engine-0.7.0.dist-info}/WHEEL +0 -0
- {mdb_engine-0.5.1.dist-info → mdb_engine-0.7.0.dist-info}/entry_points.txt +0 -0
- {mdb_engine-0.5.1.dist-info → mdb_engine-0.7.0.dist-info}/licenses/LICENSE +0 -0
- {mdb_engine-0.5.1.dist-info → mdb_engine-0.7.0.dist-info}/top_level.txt +0 -0
mdb_engine/__init__.py
CHANGED
|
@@ -82,15 +82,19 @@ from .repositories import Entity, MongoRepository, Repository, UnitOfWork
|
|
|
82
82
|
from .utils import clean_mongo_doc, clean_mongo_docs
|
|
83
83
|
|
|
84
84
|
__version__ = (
|
|
85
|
-
"0.
|
|
86
|
-
# -
|
|
87
|
-
# - NEW:
|
|
88
|
-
# -
|
|
89
|
-
# -
|
|
90
|
-
# -
|
|
91
|
-
# -
|
|
92
|
-
# -
|
|
93
|
-
# -
|
|
85
|
+
"0.6.0" # Secure-by-default WebSocket authentication with encrypted session keys
|
|
86
|
+
# - NEW: WebSocket session key generation and management
|
|
87
|
+
# - NEW: Envelope encryption for WebSocket session keys
|
|
88
|
+
# - NEW: Secure-by-default CSRF protection (csrf_required: true)
|
|
89
|
+
# - NEW: WebSocketSessionManager with private collection storage
|
|
90
|
+
# - NEW: Session key endpoint (/auth/websocket-session)
|
|
91
|
+
# - NEW: Session key integration in login flow
|
|
92
|
+
# - ENHANCED: WebSocket authentication with session key support
|
|
93
|
+
# - ENHANCED: CSRF middleware session key validation
|
|
94
|
+
# - ENHANCED: Multi-app WebSocket routing with session keys
|
|
95
|
+
# - BACKWARD COMPATIBLE: Cookie-based authentication fallback
|
|
96
|
+
# - UPDATED: All documentation for secure-by-default approach
|
|
97
|
+
# - COMPREHENSIVE: Unit and integration tests for session keys
|
|
94
98
|
)
|
|
95
99
|
|
|
96
100
|
__all__ = [
|
mdb_engine/auth/__init__.py
CHANGED
|
@@ -125,6 +125,18 @@ from .utils import (
|
|
|
125
125
|
validate_password_strength_async,
|
|
126
126
|
)
|
|
127
127
|
|
|
128
|
+
# WebSocket sessions
|
|
129
|
+
from .websocket_sessions import (
|
|
130
|
+
WebSocketSessionManager,
|
|
131
|
+
create_websocket_session_endpoint,
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
# WebSocket tickets
|
|
135
|
+
from .websocket_tickets import (
|
|
136
|
+
WebSocketTicketStore,
|
|
137
|
+
create_websocket_ticket_endpoint,
|
|
138
|
+
)
|
|
139
|
+
|
|
128
140
|
__all__ = [
|
|
129
141
|
# Base classes
|
|
130
142
|
"BaseAuthorizationProvider",
|
|
@@ -232,4 +244,10 @@ __all__ = [
|
|
|
232
244
|
"generate_csrf_token",
|
|
233
245
|
"validate_csrf_token",
|
|
234
246
|
"get_csrf_token",
|
|
247
|
+
# WebSocket sessions
|
|
248
|
+
"WebSocketSessionManager",
|
|
249
|
+
"create_websocket_session_endpoint",
|
|
250
|
+
# WebSocket tickets
|
|
251
|
+
"WebSocketTicketStore",
|
|
252
|
+
"create_websocket_ticket_endpoint",
|
|
235
253
|
]
|