django-restit 4.2.161__py3-none-any.whl → 4.2.163__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- account/rpc/auth.py +10 -3
- account/rpc/group.py +1 -1
- {django_restit-4.2.161.dist-info → django_restit-4.2.163.dist-info}/METADATA +1 -1
- {django_restit-4.2.161.dist-info → django_restit-4.2.163.dist-info}/RECORD +10 -10
- rest/__init__.py +1 -1
- rest/jwtoken.py +6 -3
- rest/models/metadata.py +1 -1
- taskqueue/models.py +1 -0
- {django_restit-4.2.161.dist-info → django_restit-4.2.163.dist-info}/LICENSE.md +0 -0
- {django_restit-4.2.161.dist-info → django_restit-4.2.163.dist-info}/WHEEL +0 -0
account/rpc/auth.py
CHANGED
@@ -3,7 +3,7 @@ from rest import crypto
|
|
3
3
|
from rest.mail import render_to_mail
|
4
4
|
from rest import views as rv
|
5
5
|
# from rest.views import restStatus, restGet, restPermissionDenied
|
6
|
-
from rest.jwtoken import JWToken, JWT_KEY
|
6
|
+
from rest.jwtoken import JWToken, JWT_KEY, JWT_EXPIRES, JWT_REFRESH_EXPIRES
|
7
7
|
from rest import helpers
|
8
8
|
from rest import settings
|
9
9
|
from account import models as am
|
@@ -67,7 +67,13 @@ def on_complete_jwt(request, member):
|
|
67
67
|
request, method="login", level=7)
|
68
68
|
|
69
69
|
device_id = request.DATA.get(["device_id", "deviceID"])
|
70
|
-
|
70
|
+
|
71
|
+
token = JWToken(
|
72
|
+
user_id=member.pk,
|
73
|
+
key=member.security_token,
|
74
|
+
device_id=device_id,
|
75
|
+
access_expires_in=member.getProperty("jwt.expires_in", JWT_EXPIRES, field_type=int),
|
76
|
+
refresh_expires_in=member.getProperty("jwt.refresh_expires_in", JWT_REFRESH_EXPIRES, field_type=int))
|
71
77
|
|
72
78
|
request.user = member.getUser()
|
73
79
|
request.member = member
|
@@ -121,9 +127,10 @@ def jwt_refresh(request):
|
|
121
127
|
if member.security_token is None:
|
122
128
|
member.refreshSecurityToken()
|
123
129
|
member.canLogin(request)
|
124
|
-
token.refresh()
|
130
|
+
token.refresh(member.getProperty("jwt.expires_in", JWT_EXPIRES, field_type=int))
|
125
131
|
request.jwt_token = token.access_token # this tells the middleware to store in cookie
|
126
132
|
if JWT_UPDATE_REFRESH_TOKEN:
|
133
|
+
token.refresh_expires_in = member.getProperty("jwt.refresh_expires_in", JWT_REFRESH_EXPIRES, field_type=int)
|
127
134
|
rtoken = token.refresh_token
|
128
135
|
return rv.restGet(request, dict(access=token.access_token, refresh=rtoken))
|
129
136
|
|
account/rpc/group.py
CHANGED
@@ -15,7 +15,7 @@ def rest_on_group(request, pk=None):
|
|
15
15
|
@rd.urlGET(r'^member/groups$')
|
16
16
|
@rd.login_required
|
17
17
|
def member_groups(request):
|
18
|
-
member_id = request.DATA.get(["member", "member_id"])
|
18
|
+
member_id = request.DATA.get(["member", "member_id"], request.member.id)
|
19
19
|
if not member_id:
|
20
20
|
return rv.restPermissionDenied(request)
|
21
21
|
member = Member.objects.filter(pk=member_id).last()
|
@@ -42,9 +42,9 @@ account/passkeys/__init__.py,sha256=FwXYJXwSJXfkLojGBcVpF1dFpgFhzDdd9N_3naYQ0cc,
|
|
42
42
|
account/passkeys/core.py,sha256=4aUBNCuF_kjOvE1zFapK1Pj28ap5slO71dRyfnWi0YU,4148
|
43
43
|
account/periodic.py,sha256=-u0n-7QTJgDOkasGhBAPwHAwjpqWGA-MZLEFkVTqCGU,874
|
44
44
|
account/rpc/__init__.py,sha256=SGF0M_-H0dKh3b1apSX29BotNWAvITYccGQVC0MIjL8,336
|
45
|
-
account/rpc/auth.py,sha256=
|
45
|
+
account/rpc/auth.py,sha256=O-co_vZM9T4lsu3hidjKAeL2tTPWgbmoLsrjhmFZ7lA,17064
|
46
46
|
account/rpc/device.py,sha256=lU2BHNPreHV0dDTjAPc7Sc-5m2JP8SiWVqiKuBfV7Fo,2281
|
47
|
-
account/rpc/group.py,sha256=
|
47
|
+
account/rpc/group.py,sha256=hw7iczZ6W_IrRbx5ZDw6cZ5I_ztqxhtUFJD9WR91_4s,4948
|
48
48
|
account/rpc/member.py,sha256=8XnJX-iri0Om4nc-V2_tDJzfCSzziKLw6dUx9egtEZE,2236
|
49
49
|
account/rpc/notify.py,sha256=Q2YWejP36egeF060Hih5uX4Psv_B8NWlLLPi7iDYlIw,3344
|
50
50
|
account/rpc/oauth.py,sha256=ISLVsR5HvKALANokaOFRvF4FTRxWtXPvVnZAYANKxpo,2864
|
@@ -378,7 +378,7 @@ pushit/utils.py,sha256=IeTCGa-164nmB1jIsK1lu1O1QzUhS3BKfuXHGjCW-ck,2121
|
|
378
378
|
rest/.gitignore,sha256=TbEvWRMnAiajCTOdhiNrd9eeCAaIjRp9PRjE_VkMM5g,118
|
379
379
|
rest/README.md,sha256=V3ETc-cJu8PZIbKr9xSe_pA4JEUpC8Dhw4bQeVCDJPw,5460
|
380
380
|
rest/RemoteEvents.py,sha256=nL46U7AuxIrlw2JunphR1tsXyqi-ep_gD9CYGpYbNgE,72
|
381
|
-
rest/__init__.py,sha256=
|
381
|
+
rest/__init__.py,sha256=Nt-ARrrsZsC3MhlB1KngYyIlg503R8BDL8rspDoD3-U,122
|
382
382
|
rest/arc4.py,sha256=y644IbF1ec--e4cUJ3KEYsewTCITK0gmlwa5mJruFC0,1967
|
383
383
|
rest/cache.py,sha256=1Qg0rkaCJCaVP0-l5hZg2CIblTdeBSlj_0fP6vlKUpU,83
|
384
384
|
rest/crypto/__init__.py,sha256=Tl0U11rgj1eBYqd6OXJ2_XSdNLumW_JkBZnaJqI6Ldw,72
|
@@ -396,7 +396,7 @@ rest/fields.py,sha256=_v1TJVc6vyWlqmwFRJ6mtuR5Fo-lS0KcUhPWIrzKZUo,9719
|
|
396
396
|
rest/forms.py,sha256=66Wm5cdy8tKib_mGicjq_yd-gNVMFWRECnrDksnNnwU,6316
|
397
397
|
rest/helpers.py,sha256=t7smlOUzchVno-zeq7xMJIwogAR2DeSrffWxgysOHX8,29531
|
398
398
|
rest/joke.py,sha256=0PpKaX2iN7jlS62kgjfmmqkFBYLPURz15aQ8R7OJkJ8,260
|
399
|
-
rest/jwtoken.py,sha256=
|
399
|
+
rest/jwtoken.py,sha256=F7Vvpm31rAplTXr8XFP-Lb4BnDB3j1B2nQq0P1iTCLQ,2576
|
400
400
|
rest/log.py,sha256=hd1_4HBOS395sfXJIL6BTw9yekm1SLgBwYx_PdfIhKA,20930
|
401
401
|
rest/mail.py,sha256=Rm40hWDYop0tMqxdN-J2NT-dCnP-f4SfCZxSO02ajzs,7965
|
402
402
|
rest/mailman.py,sha256=v5O1G5s3HiAKmz-J1z0uT6_q3xsONPpxVl9saEyQQ2I,9174
|
@@ -413,7 +413,7 @@ rest/middleware/session_store.py,sha256=1nSdeXK8PyuYgGgIufqrS6j6QpIrQ7zbMNT0ol75
|
|
413
413
|
rest/models/__init__.py,sha256=M8pvFDq-WCF-QcM58X7pMufYYe0aaQ3U0PwGe9TKbbY,130
|
414
414
|
rest/models/base.py,sha256=eOvVDwHgKDdBJAnaK2xavGfkjkfpk5Oqy1KfKRjtu6o,72072
|
415
415
|
rest/models/cacher.py,sha256=eKz8TINVhWEqKhJGMsRkKZTtBUIv5rN3NHbZwOC56Uk,578
|
416
|
-
rest/models/metadata.py,sha256=
|
416
|
+
rest/models/metadata.py,sha256=ni8-BRF07lv4CdPUWnUdfPTOClQAVEeRZvO-ic623HU,12904
|
417
417
|
rest/net.py,sha256=LcB2QV6VNRtsSdmiQvYZgwQUDwOPMn_VBdRiZ6OpI-I,2974
|
418
418
|
rest/regexes.yaml,sha256=VoGb4E-P_K9f82Yzcpltgzekpt9usRtwu9PYlo46nUw,149463
|
419
419
|
rest/requestex.py,sha256=N56056vV3zWkAP-QrYsCu7SdpPzE5kLuPoxGIuZAKt0,16127
|
@@ -460,7 +460,7 @@ taskqueue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
460
460
|
taskqueue/admin.py,sha256=E6zXoToS_ea3MdoGjZzF1JiepWFtDSoZUQdan8H-pXI,208
|
461
461
|
taskqueue/migrations/0001_initial.py,sha256=JwYib8CK5ftSXlfxKZUcKEEVsXktNB5q3h-2tu9inGk,4738
|
462
462
|
taskqueue/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
463
|
-
taskqueue/models.py,sha256=
|
463
|
+
taskqueue/models.py,sha256=aRy5TFc2zAu6xcb3jcMf-bfma-dmrh55hQoktCLT0Us,23894
|
464
464
|
taskqueue/periodic.py,sha256=hpXnunJL_cuVQLAKpjTbABbsQ4fvdsV9_gyyK-_53Sk,3844
|
465
465
|
taskqueue/rpc.py,sha256=Lf5VUoqCRkfWUAIvx_s508mjAtDPwpiWyxg0ryqWbQA,5793
|
466
466
|
taskqueue/tq.py,sha256=PzSoDrawYcqZylruEgsK95gcJ4J_VhdM6rxg9V6_X8E,942
|
@@ -514,7 +514,7 @@ ws4redis/servers/uwsgi.py,sha256=VyhoCI1DnVFqBiJYHoxqn5Idlf6uJPHvfBKgkjs34mo,172
|
|
514
514
|
ws4redis/settings.py,sha256=KKq00EwoGnz1yLwCZr5Dfoq2izivmAdsNEEM4EhZwN4,1610
|
515
515
|
ws4redis/utf8validator.py,sha256=S0OlfjeGRP75aO6CzZsF4oTjRQAgR17OWE9rgZdMBZA,5122
|
516
516
|
ws4redis/websocket.py,sha256=R0TUyPsoVRD7Y_oU7w2I6NL4fPwiz5Vl94-fUkZgLHA,14848
|
517
|
-
django_restit-4.2.
|
518
|
-
django_restit-4.2.
|
519
|
-
django_restit-4.2.
|
520
|
-
django_restit-4.2.
|
517
|
+
django_restit-4.2.163.dist-info/LICENSE.md,sha256=VHN4hhEeVOoFjtG-5fVv4jesA4SWi0Z-KgOzzN6a1ps,1068
|
518
|
+
django_restit-4.2.163.dist-info/METADATA,sha256=JJ41qj2ZvwUoUmELr-Bbz-Wo1RIqLKBhsR46q2sw49o,7663
|
519
|
+
django_restit-4.2.163.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
520
|
+
django_restit-4.2.163.dist-info/RECORD,,
|
rest/__init__.py
CHANGED
rest/jwtoken.py
CHANGED
@@ -4,7 +4,8 @@ import time
|
|
4
4
|
import uuid
|
5
5
|
from rest import settings
|
6
6
|
|
7
|
-
|
7
|
+
JWT_EXP_6_HOURS = 21600
|
8
|
+
JWT_EXP_12_HOURS = 43200
|
8
9
|
JWT_EXP_1_DAY = 86400
|
9
10
|
JWT_EXP_2_DAY = 172800
|
10
11
|
JWT_EXP_7_DAY = 604800
|
@@ -58,10 +59,12 @@ class JWToken():
|
|
58
59
|
return False
|
59
60
|
return self.payload.exp > time.time()
|
60
61
|
|
61
|
-
def refresh(self):
|
62
|
+
def refresh(self, expires_in=None):
|
62
63
|
self.payload["token_type"] = "access"
|
63
64
|
self.payload["iat"] = int(time.time())
|
64
|
-
|
65
|
+
if expires_in is None:
|
66
|
+
expires_in = self.access_expires_in
|
67
|
+
self.payload["exp"] = int(time.time()) + expires_in
|
65
68
|
|
66
69
|
@property
|
67
70
|
def access_token(self):
|
rest/models/metadata.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
from datetime import datetime, date
|
2
1
|
from objict import objict
|
3
2
|
from django.db import models as dm
|
4
3
|
import string
|
@@ -6,6 +5,7 @@ import string
|
|
6
5
|
from rest import helpers as rh
|
7
6
|
from rest import errors as re
|
8
7
|
from rest.encryption import ENCRYPTER, DECRYPTER
|
8
|
+
from datetime import datetime, date
|
9
9
|
|
10
10
|
|
11
11
|
class MetaDataBase(dm.Model):
|
taskqueue/models.py
CHANGED
File without changes
|
File without changes
|