paskia 0.9.0__py3-none-any.whl → 0.9.1__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.
- paskia/_version.py +2 -2
- paskia/aaguid/__init__.py +5 -4
- paskia/authsession.py +4 -19
- paskia/db/__init__.py +2 -4
- paskia/db/background.py +3 -3
- paskia/db/jsonl.py +100 -112
- paskia/db/logging.py +233 -0
- paskia/db/migrations.py +19 -20
- paskia/db/operations.py +99 -192
- paskia/db/structs.py +236 -46
- paskia/fastapi/__main__.py +1 -0
- paskia/fastapi/admin.py +70 -193
- paskia/fastapi/api.py +49 -55
- paskia/fastapi/logging.py +218 -0
- paskia/fastapi/mainapp.py +12 -2
- paskia/fastapi/remote.py +4 -4
- paskia/fastapi/reset.py +0 -2
- paskia/fastapi/response.py +22 -0
- paskia/fastapi/user.py +7 -7
- paskia/fastapi/ws.py +6 -6
- paskia/fastapi/wsutil.py +15 -2
- paskia/migrate/__init__.py +9 -9
- paskia/migrate/sql.py +26 -19
- paskia/remoteauth.py +6 -6
- {paskia-0.9.0.dist-info → paskia-0.9.1.dist-info}/METADATA +1 -1
- {paskia-0.9.0.dist-info → paskia-0.9.1.dist-info}/RECORD +28 -25
- {paskia-0.9.0.dist-info → paskia-0.9.1.dist-info}/WHEEL +0 -0
- {paskia-0.9.0.dist-info → paskia-0.9.1.dist-info}/entry_points.txt +0 -0
paskia/remoteauth.py
CHANGED
|
@@ -19,9 +19,9 @@ The first 3 words of the token serve as the pairing code for manual entry.
|
|
|
19
19
|
|
|
20
20
|
import asyncio
|
|
21
21
|
import logging
|
|
22
|
+
from collections.abc import Callable
|
|
22
23
|
from dataclasses import dataclass
|
|
23
|
-
from datetime import datetime, timedelta
|
|
24
|
-
from typing import Callable
|
|
24
|
+
from datetime import UTC, datetime, timedelta
|
|
25
25
|
from uuid import UUID
|
|
26
26
|
|
|
27
27
|
from paskia.util import passphrase, pow
|
|
@@ -94,7 +94,7 @@ class RemoteAuthManager:
|
|
|
94
94
|
|
|
95
95
|
async def _cleanup_expired(self):
|
|
96
96
|
"""Remove expired requests and notify waiting clients."""
|
|
97
|
-
now = datetime.now(
|
|
97
|
+
now = datetime.now(UTC)
|
|
98
98
|
expired_keys = []
|
|
99
99
|
async with self._lock:
|
|
100
100
|
for key, req in self._requests.items():
|
|
@@ -123,7 +123,7 @@ class RemoteAuthManager:
|
|
|
123
123
|
Returns:
|
|
124
124
|
(code, expiry) - The 3-word passphrase code and expiration time
|
|
125
125
|
"""
|
|
126
|
-
now = datetime.now(
|
|
126
|
+
now = datetime.now(UTC)
|
|
127
127
|
expiry = now + REMOTE_AUTH_LIFETIME
|
|
128
128
|
|
|
129
129
|
async with self._lock:
|
|
@@ -160,7 +160,7 @@ class RemoteAuthManager:
|
|
|
160
160
|
req = self._requests.get(normalized)
|
|
161
161
|
if req is None:
|
|
162
162
|
return None
|
|
163
|
-
now = datetime.now(
|
|
163
|
+
now = datetime.now(UTC)
|
|
164
164
|
if now > req.created_at + REMOTE_AUTH_LIFETIME:
|
|
165
165
|
# Expired
|
|
166
166
|
del self._requests[normalized]
|
|
@@ -331,7 +331,7 @@ class RemoteAuthManager:
|
|
|
331
331
|
req = self._requests.get(token)
|
|
332
332
|
if req is None:
|
|
333
333
|
return None
|
|
334
|
-
now = datetime.now(
|
|
334
|
+
now = datetime.now(UTC)
|
|
335
335
|
if now > req.created_at + REMOTE_AUTH_LIFETIME:
|
|
336
336
|
del self._requests[token]
|
|
337
337
|
return None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: paskia
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.1
|
|
4
4
|
Summary: Passkey Auth made easy: all sites and APIs can be guarded even without any changes on the protected site.
|
|
5
5
|
Project-URL: Homepage, https://git.zi.fi/LeoVasanko/paskia
|
|
6
6
|
Project-URL: Repository, https://github.com/LeoVasanko/paskia
|
|
@@ -1,33 +1,36 @@
|
|
|
1
1
|
paskia/__init__.py,sha256=6eopO87IOFA2zfOuqt8Jj8Tdtp93HBMOgUBtTzMRweM,57
|
|
2
|
-
paskia/_version.py,sha256=
|
|
3
|
-
paskia/authsession.py,sha256=
|
|
2
|
+
paskia/_version.py,sha256=LwGndsRSpclYq-j3wgRr2nzOXwUYj0Jtg7Kof7R0BEw,704
|
|
3
|
+
paskia/authsession.py,sha256=7TGZuJw4RLsRJ-pemii6zRXTR-wdLx3nFVItytKFz5s,1259
|
|
4
4
|
paskia/bootstrap.py,sha256=FShAMvLmLxQ4HfE9yz1ZB6EO9fC-lQroesU4dC58VO8,3875
|
|
5
5
|
paskia/config.py,sha256=BdGzQ3Ja1enSTHmkDkBDGQk_JluT3VaK3Y7AqB5xMlk,723
|
|
6
6
|
paskia/globals.py,sha256=ip03kLoS_27cNIgXTVcXNoeQDjTAC_IILuXaHKShTws,1712
|
|
7
|
-
paskia/remoteauth.py,sha256=
|
|
7
|
+
paskia/remoteauth.py,sha256=IyC1Z9YTYjPi4h8B0UwwoWfxaheEgyfksbKraOrAcqA,12418
|
|
8
8
|
paskia/sansio.py,sha256=LQRdV1kW_aGwDWC8fhyEvqWPwKZVx_8qzQv65et6utg,9727
|
|
9
|
-
paskia/aaguid/__init__.py,sha256=
|
|
9
|
+
paskia/aaguid/__init__.py,sha256=I5HMkAwiyLKKlkZOb9z5s2xGApXIbhbBuuX3IhW2y8E,1047
|
|
10
10
|
paskia/aaguid/combined_aaguid.json,sha256=CaZ96AiwdAjBnyVZnJ1eolAHxUQMB2H6mDgZkorYg_A,4124722
|
|
11
|
-
paskia/db/__init__.py,sha256=
|
|
12
|
-
paskia/db/background.py,sha256=
|
|
13
|
-
paskia/db/jsonl.py,sha256=
|
|
14
|
-
paskia/db/
|
|
15
|
-
paskia/db/
|
|
16
|
-
paskia/db/
|
|
11
|
+
paskia/db/__init__.py,sha256=BGiCFZFX4xMsFn6aKvuV7X7VL-NoA-URdl2493EfRXE,3220
|
|
12
|
+
paskia/db/background.py,sha256=hj3hXoEpneVWhrAHZvoL09DVVaqOTqe-n9RIJZbbEos,3546
|
|
13
|
+
paskia/db/jsonl.py,sha256=LvrdGlfkChZGWTmB3eblnoSsgQ5Oulm2aDtWmF4RpHQ,9934
|
|
14
|
+
paskia/db/logging.py,sha256=akbYSsqSrkXGAEyhWQCGCYKl61zMsIQf35QMHjddYcQ,7503
|
|
15
|
+
paskia/db/migrations.py,sha256=XHHC0LbxXBN6gldiKm4PhDVqEqroMN1E8tz0LEqGPbQ,957
|
|
16
|
+
paskia/db/operations.py,sha256=Zm60HSraQEDAW3i4PjR7ouu5Y_qd7gWSBG8nT-ujDro,26275
|
|
17
|
+
paskia/db/structs.py,sha256=G6udtoomKmB8wijO6x1AObX9Oas66gBmJ_YxIiDLO6E,14060
|
|
17
18
|
paskia/fastapi/__init__.py,sha256=NFsTX1qytoyZKiur7RDTa2fxiOWHrop5CAAx8rqK9E0,58
|
|
18
|
-
paskia/fastapi/__main__.py,sha256=
|
|
19
|
-
paskia/fastapi/admin.py,sha256=
|
|
20
|
-
paskia/fastapi/api.py,sha256=
|
|
19
|
+
paskia/fastapi/__main__.py,sha256=AULbSTfQcRUYejocFxJlzCdx0VW7zx4KznBy0n-pJms,7775
|
|
20
|
+
paskia/fastapi/admin.py,sha256=xzMhqSEokFSOlNETdRZ9ZNu3bwiaEKo3T34Byisiq_c,30303
|
|
21
|
+
paskia/fastapi/api.py,sha256=zmSRt0CZG6YyMrQGgXBuxZmpOfNVpiMJ9dPrW1Y28sM,9125
|
|
21
22
|
paskia/fastapi/auth_host.py,sha256=Y5w9Mz6jyq0hj7SX8LfwebaesUOLGcWzGW9lsmw5WOo,3242
|
|
22
23
|
paskia/fastapi/authz.py,sha256=6s2TGkb3C7qWTXHOaMj613NiqMfztqM5QENuSb2IjO8,3529
|
|
23
|
-
paskia/fastapi/
|
|
24
|
-
paskia/fastapi/
|
|
25
|
-
paskia/fastapi/
|
|
24
|
+
paskia/fastapi/logging.py,sha256=oED1CWcAYFsm6eo1pBZ-GbbMstlMrJmSFloqPuu8mQU,6858
|
|
25
|
+
paskia/fastapi/mainapp.py,sha256=wZS0Jo75Y1mesvrJp1lWKpdHzdNjjlFinzA-idezYaQ,5005
|
|
26
|
+
paskia/fastapi/remote.py,sha256=062r1fWlgUafetyKu_ZDlQ8jdR4nGJWvndry9puRfVQ,18855
|
|
27
|
+
paskia/fastapi/reset.py,sha256=MuZqhOF68P9kGq5zKPV19FjTIvhZQ423YowzHKcVjlc,3573
|
|
28
|
+
paskia/fastapi/response.py,sha256=gTPNJtS92HfQYey2DMMN8oM1YazNSj6tjBBuFJuuBhc,611
|
|
26
29
|
paskia/fastapi/session.py,sha256=BRnlgR8pTY7o0f7qFnkdyepS2fKEAgqwT9Hj951sZJM,1479
|
|
27
|
-
paskia/fastapi/user.py,sha256=
|
|
28
|
-
paskia/fastapi/ws.py,sha256=
|
|
30
|
+
paskia/fastapi/user.py,sha256=1vi1usiH8IFqqmLkwq2CLoy-x46VTlUnsiNglndajV8,4599
|
|
31
|
+
paskia/fastapi/ws.py,sha256=JBaKfD39z5Ow-2zuZ5U7sbeH_QqzhUHYrl6JVn0XhF0,4503
|
|
29
32
|
paskia/fastapi/wschat.py,sha256=eUtVTGyxVIG2DOZIpjeYGgJRBpU5LnWfTT66vIsKaOA,1818
|
|
30
|
-
paskia/fastapi/wsutil.py,sha256=
|
|
33
|
+
paskia/fastapi/wsutil.py,sha256=qZobEP8Ca4jLtauCC9VEiMSVyg6tTkfxsSZHmXrXPQM,3094
|
|
31
34
|
paskia/frontend-build/auth/index.html,sha256=PhNRnHQSaQCIyiSl8fZqidC-PIGMe_KWLJokw0N8628,936
|
|
32
35
|
paskia/frontend-build/auth/admin/index.html,sha256=jiCkfwVKDRT-nmz1OEwWzZBw8tNMXGnNjIfaIBXJ4fE,862
|
|
33
36
|
paskia/frontend-build/auth/assets/AccessDenied-DPkUS8LZ.css,sha256=s7BvCBUV8YZQA1riEuXFvBGcm8dRr6QNZ1VJMBWoKPA,7941
|
|
@@ -49,9 +52,9 @@ paskia/frontend-build/auth/assets/restricted-D3AJx3_6.js,sha256=H7L5F3nW6btinOZP
|
|
|
49
52
|
paskia/frontend-build/auth/restricted/index.html,sha256=6RPwe3edRPjM2-TLp87S9C170NM0gGYufboL_sp7q-k,785
|
|
50
53
|
paskia/frontend-build/int/forward/index.html,sha256=iA5lgiEgLxszNEdvTi7jMawKkhSTWydU8idRs0LLKlw,870
|
|
51
54
|
paskia/frontend-build/int/reset/index.html,sha256=E6ylRX8-OupR3eBUPSzFRH1_rXVft93esAY0zaoVFBQ,612
|
|
52
|
-
paskia/migrate/__init__.py,sha256=
|
|
53
|
-
paskia/migrate/sql.py,sha256=
|
|
54
|
-
paskia-0.9.
|
|
55
|
-
paskia-0.9.
|
|
56
|
-
paskia-0.9.
|
|
57
|
-
paskia-0.9.
|
|
55
|
+
paskia/migrate/__init__.py,sha256=r2s99mbHfvlzQJ1V3xnxZOwIyMEMxEXDtFqFj7sJC2U,9916
|
|
56
|
+
paskia/migrate/sql.py,sha256=5HNEUnPP0kqis69URJ5keE4JNbwqWe8oYXwf-zKheLI,14333
|
|
57
|
+
paskia-0.9.1.dist-info/METADATA,sha256=Ivym2LhgRqG8wPZ1RyT4mM5wFYCTdwmP5MzplugNUE0,4261
|
|
58
|
+
paskia-0.9.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
59
|
+
paskia-0.9.1.dist-info/entry_points.txt,sha256=vvx6RYetgd61I2ODqQPHqrKHgCfuo08w_T35yDlHenE,93
|
|
60
|
+
paskia-0.9.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|