Browse Source

Adiciona função para renovar token do usuário autenticado

pull/3151/head
Vinícius Cantuária 6 years ago
parent
commit
b9d2d6aa3e
  1. 3
      sapl/api/urls.py
  2. 12
      sapl/api/views.py

3
sapl/api/urls.py

@ -6,7 +6,7 @@ from rest_framework.routers import DefaultRouter
from sapl.api.deprecated import MateriaLegislativaViewSet, SessaoPlenariaViewSet,\
AutoresProvaveisListView, AutoresPossiveisListView, AutorListView,\
ModelChoiceView
from sapl.api.views import SaplApiViewSetConstrutor, AppVersionView
from sapl.api.views import SaplApiViewSetConstrutor, AppVersionView, renova_token
from .apps import AppConfig
@ -71,6 +71,7 @@ urlpatterns = [
url(r'^api/', include(urlpatterns_api_doc)),
url(r'^api/', include(urlpatterns_router)),
url(r'^api/version', AppVersionView.as_view()),
url(r'^api/renovar-token/$', renova_token, name="renova_token"),
# implementar caminho para autenticação
# https://www.django-rest-framework.org/tutorial/4-authentication-and-permissions/

12
sapl/api/views.py

@ -3,10 +3,12 @@ import logging
from django import apps
from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.core.urlresolvers import reverse_lazy
from django.db.models import Q
from django.db.models.fields.files import FileField
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.http import HttpResponseRedirect, HttpResponse
from django.utils.decorators import classonlymethod
from django.utils.text import capfirst
from django.utils.translation import ugettext_lazy as _
@ -48,6 +50,16 @@ def create_auth_token(sender, instance=None, created=False, **kwargs):
Token.objects.create(user=instance)
def renova_token(request):
if request.user.is_authenticated:
Token.objects.filter(user_id=request.user.id).delete()
Token.objects.create(user_id=request.user.id)
return HttpResponseRedirect(reverse_lazy("sapl.base:user_edit", kwargs={"pk": request.user.id}))
else:
return HttpResponse('Usuário não autenticado!', status=401)
class BusinessRulesNotImplementedMixin:
def create(self, request, *args, **kwargs):
raise Exception(_("POST Create não implementado"))

Loading…
Cancel
Save