maquinaweb-shared-auth 0.2.11__py3-none-any.whl → 0.2.13__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.
Potentially problematic release.
This version of maquinaweb-shared-auth might be problematic. Click here for more details.
- {maquinaweb_shared_auth-0.2.11.dist-info → maquinaweb_shared_auth-0.2.13.dist-info}/METADATA +1 -1
- {maquinaweb_shared_auth-0.2.11.dist-info → maquinaweb_shared_auth-0.2.13.dist-info}/RECORD +9 -9
- shared_auth/authentication.py +3 -3
- shared_auth/decorators.py +3 -3
- shared_auth/middleware.py +3 -3
- shared_auth/mixins.py +2 -2
- shared_auth/models.py +8 -4
- {maquinaweb_shared_auth-0.2.11.dist-info → maquinaweb_shared_auth-0.2.13.dist-info}/WHEEL +0 -0
- {maquinaweb_shared_auth-0.2.11.dist-info → maquinaweb_shared_auth-0.2.13.dist-info}/top_level.txt +0 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
shared_auth/__init__.py,sha256=Ta8lIbyn22J6wU-TgWeSvdDHS4NBRf4Sv1Ag8VtY-bE,152
|
|
2
2
|
shared_auth/app.py,sha256=EHoLKlpW41o6ZxcH184aMhnWQxkVp9fH2_-89RjMz-4,215
|
|
3
|
-
shared_auth/authentication.py,sha256
|
|
3
|
+
shared_auth/authentication.py,sha256=-9FTdSBvfjq7vgZbJBvoJyPcwN-zIfx1pRhgPFB9dnw,1450
|
|
4
4
|
shared_auth/conf.py,sha256=-jdnCokMvWvVKllfsxNYCsPk1Vo3MDRq4Y1MsO16oeA,411
|
|
5
|
-
shared_auth/decorators.py,sha256=
|
|
5
|
+
shared_auth/decorators.py,sha256=A2BVcEk1Ty4M4ZOAa_fqEdPIn_w9UXxIvfJWFlqw3wk,3255
|
|
6
6
|
shared_auth/exceptions.py,sha256=eiII-REupK6GeFinisteYO3FsGUDAN5zAajXPhTREm8,404
|
|
7
7
|
shared_auth/fields.py,sha256=RAcmFh1D_nkbai_7t_OrPZhfhAipesy5kKnEj4LUvvM,1254
|
|
8
8
|
shared_auth/managers.py,sha256=Oskz863DGG7nFp6ijZfYVWGCG-Inp6PAP0NakX-x71g,6812
|
|
9
|
-
shared_auth/middleware.py,sha256=
|
|
10
|
-
shared_auth/mixins.py,sha256
|
|
11
|
-
shared_auth/models.py,sha256=
|
|
9
|
+
shared_auth/middleware.py,sha256=xVoSnlndp6-_cgQADASk2ie8th8e_7SN_7q-lfArx9Y,6124
|
|
10
|
+
shared_auth/mixins.py,sha256=-D-mDmDI_EjMGpUpkMEp1XTlecvUlCRj-Bch9dm9s_I,7400
|
|
11
|
+
shared_auth/models.py,sha256=HB5jCqa7l-P1o6v_Gk043RRjzv87xAXpYQ7jDlz7NZg,5287
|
|
12
12
|
shared_auth/permissions.py,sha256=CTsd0xE_Z-LYNVwU4jOJLWvlcbdRG8mLkLMEnbmkhJA,2665
|
|
13
13
|
shared_auth/router.py,sha256=zYidJ7j40lQLrhkCtAQAp-rQLhua_UF0X7SDzYRcV5w,668
|
|
14
14
|
shared_auth/serializers.py,sha256=TDpuZVsOL-6igINSOOOyELWbTUeet4XWRoBkvcMGjW4,4290
|
|
15
|
-
maquinaweb_shared_auth-0.2.
|
|
16
|
-
maquinaweb_shared_auth-0.2.
|
|
17
|
-
maquinaweb_shared_auth-0.2.
|
|
18
|
-
maquinaweb_shared_auth-0.2.
|
|
15
|
+
maquinaweb_shared_auth-0.2.13.dist-info/METADATA,sha256=YijgfRMLll6LeiRmcMBnjYyFKzODMbXUX39BtfJa8l4,27151
|
|
16
|
+
maquinaweb_shared_auth-0.2.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
17
|
+
maquinaweb_shared_auth-0.2.13.dist-info/top_level.txt,sha256=msyYRy02ZV7zz7GR1raUI5LXGFIFn2TIkgkeKZqKufE,12
|
|
18
|
+
maquinaweb_shared_auth-0.2.13.dist-info/RECORD,,
|
shared_auth/authentication.py
CHANGED
|
@@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _
|
|
|
6
6
|
from rest_framework import exceptions
|
|
7
7
|
from rest_framework.authentication import TokenAuthentication
|
|
8
8
|
|
|
9
|
-
from .models import SharedToken,
|
|
9
|
+
from .models import SharedToken, SharedUser
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class SharedTokenAuthentication(TokenAuthentication):
|
|
@@ -34,8 +34,8 @@ class SharedTokenAuthentication(TokenAuthentication):
|
|
|
34
34
|
|
|
35
35
|
# Buscar usuário completo
|
|
36
36
|
try:
|
|
37
|
-
user =
|
|
38
|
-
except
|
|
37
|
+
user = SharedUser.objects.get(pk=token.user_id)
|
|
38
|
+
except SharedUser.DoesNotExist:
|
|
39
39
|
raise exceptions.AuthenticationFailed(_("Usuário não encontrado."))
|
|
40
40
|
|
|
41
41
|
if not user.is_active:
|
shared_auth/decorators.py
CHANGED
|
@@ -6,7 +6,7 @@ from functools import wraps
|
|
|
6
6
|
|
|
7
7
|
from django.http import JsonResponse
|
|
8
8
|
|
|
9
|
-
from .models import SharedOrganization, SharedToken,
|
|
9
|
+
from .models import SharedOrganization, SharedToken, SharedUser
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def require_auth(view_func):
|
|
@@ -30,7 +30,7 @@ def require_auth(view_func):
|
|
|
30
30
|
# Validar token
|
|
31
31
|
try:
|
|
32
32
|
token_obj = SharedToken.objects.get(key=token)
|
|
33
|
-
user =
|
|
33
|
+
user = SharedUser.objects.get(pk=token_obj.user_id)
|
|
34
34
|
|
|
35
35
|
if not user.is_active or user.deleted_at is not None:
|
|
36
36
|
return JsonResponse({"error": "Usuário inativo"}, status=401)
|
|
@@ -38,7 +38,7 @@ def require_auth(view_func):
|
|
|
38
38
|
request.user = user
|
|
39
39
|
request.auth = token_obj
|
|
40
40
|
|
|
41
|
-
except (SharedToken.DoesNotExist,
|
|
41
|
+
except (SharedToken.DoesNotExist, SharedUser.DoesNotExist):
|
|
42
42
|
return JsonResponse({"error": "Token inválido"}, status=401)
|
|
43
43
|
|
|
44
44
|
return view_func(request, *args, **kwargs)
|
shared_auth/middleware.py
CHANGED
|
@@ -6,7 +6,7 @@ from django.http import JsonResponse
|
|
|
6
6
|
from django.utils.deprecation import MiddlewareMixin
|
|
7
7
|
|
|
8
8
|
from .authentication import SharedTokenAuthentication
|
|
9
|
-
from .models import SharedMember, SharedOrganization, SharedToken,
|
|
9
|
+
from .models import SharedMember, SharedOrganization, SharedToken, SharedUser
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class SharedAuthMiddleware(MiddlewareMixin):
|
|
@@ -52,7 +52,7 @@ class SharedAuthMiddleware(MiddlewareMixin):
|
|
|
52
52
|
# Validar token e buscar usuário
|
|
53
53
|
try:
|
|
54
54
|
token_obj = SharedToken.objects.get(key=token)
|
|
55
|
-
user =
|
|
55
|
+
user = SharedUser.objects.get(pk=token_obj.user_id)
|
|
56
56
|
|
|
57
57
|
if not user.is_active or user.deleted_at is not None:
|
|
58
58
|
# request.user = None
|
|
@@ -63,7 +63,7 @@ class SharedAuthMiddleware(MiddlewareMixin):
|
|
|
63
63
|
# request.user = user
|
|
64
64
|
request.auth = token_obj
|
|
65
65
|
|
|
66
|
-
except (SharedToken.DoesNotExist,
|
|
66
|
+
except (SharedToken.DoesNotExist, SharedUser.DoesNotExist):
|
|
67
67
|
# request.user = None
|
|
68
68
|
request.auth = None
|
|
69
69
|
|
shared_auth/mixins.py
CHANGED
|
@@ -108,9 +108,9 @@ class UserMixin(models.Model):
|
|
|
108
108
|
Acessa usuário do banco de auth (lazy loading com cache)
|
|
109
109
|
"""
|
|
110
110
|
if not hasattr(self, "_cached_user"):
|
|
111
|
-
from shared_auth.models import
|
|
111
|
+
from shared_auth.models import SharedUser
|
|
112
112
|
|
|
113
|
-
self._cached_user =
|
|
113
|
+
self._cached_user = SharedUser.objects.get_or_fail(self.user_id)
|
|
114
114
|
return self._cached_user
|
|
115
115
|
|
|
116
116
|
@property
|
shared_auth/models.py
CHANGED
|
@@ -37,7 +37,7 @@ class SharedToken(models.Model):
|
|
|
37
37
|
def user(self):
|
|
38
38
|
"""Acessa usuário do token"""
|
|
39
39
|
if not hasattr(self, "_cached_user"):
|
|
40
|
-
self._cached_user =
|
|
40
|
+
self._cached_user = SharedUser.objects.get_or_fail(self.user_id)
|
|
41
41
|
return self._cached_user
|
|
42
42
|
|
|
43
43
|
def is_valid(self):
|
|
@@ -121,7 +121,7 @@ class SharedOrganization(models.Model):
|
|
|
121
121
|
Usage:
|
|
122
122
|
users = org.users
|
|
123
123
|
"""
|
|
124
|
-
return
|
|
124
|
+
return SharedUser.objects.filter(
|
|
125
125
|
id__in=self.members.values_list("user_id", flat=True)
|
|
126
126
|
)
|
|
127
127
|
|
|
@@ -130,7 +130,7 @@ class SharedOrganization(models.Model):
|
|
|
130
130
|
return self.deleted_at is None
|
|
131
131
|
|
|
132
132
|
|
|
133
|
-
class
|
|
133
|
+
class SharedUser(AbstractUser):
|
|
134
134
|
"""
|
|
135
135
|
Model READ-ONLY da tabela auth_user
|
|
136
136
|
"""
|
|
@@ -148,6 +148,10 @@ class User(AbstractUser):
|
|
|
148
148
|
class Meta:
|
|
149
149
|
managed = False
|
|
150
150
|
db_table = USER_TABLE
|
|
151
|
+
default_related_name = "user"
|
|
152
|
+
name = "user"
|
|
153
|
+
verbose_name = "user"
|
|
154
|
+
verbose_name_plural = "users"
|
|
151
155
|
|
|
152
156
|
|
|
153
157
|
class SharedMember(models.Model):
|
|
@@ -179,7 +183,7 @@ class SharedMember(models.Model):
|
|
|
179
183
|
user = member.user
|
|
180
184
|
print(user.email)
|
|
181
185
|
"""
|
|
182
|
-
return
|
|
186
|
+
return SharedUser.objects.get_or_fail(self.user_id)
|
|
183
187
|
|
|
184
188
|
@property
|
|
185
189
|
def organization(self):
|
|
File without changes
|
{maquinaweb_shared_auth-0.2.11.dist-info → maquinaweb_shared_auth-0.2.13.dist-info}/top_level.txt
RENAMED
|
File without changes
|