Пример #1
0
 def post(self, request, format='json'):
     # userData = dict(request.data)
     # profileData = userData.pop('profile')
     serializer = UserSerializer(data=request.data)
     if serializer.is_valid():
         user = serializer.save()
         # Profile.objects.create(user=user)
         if user:
             tokenView = ObtainJSONWebToken()
             tokenView.request = request
             return tokenView.post(request, format='json')
     return Response({'errors': serializer.errors}, 400)
Пример #2
0
    def validate(self, data):
        email = data.get('email', None)
        username = data.get('username', None)
        password = data.get('password')
        if not email and not username:
            raise ValidationError("A username or email is required to login")
        user = User.objects.filter(Q(email=email)
                                   | Q(username=username)).distinct()
        user = user.exclude(email__isnull=True).exclude(email__iexact='')
        if user.exists() and user.count() == 1:
            user_obj = user.first()
        else:
            raise ValidationError("This username or Email is not valid")

        if user_obj:
            if not user_obj.check_password(password):
                raise ValidationError("Incorrect Credential please try again")
        data["token"] = ObtainJSONWebToken()
        return data
Пример #3
0
from django.urls import include, path
from rest_framework.routers import DefaultRouter

from . import views

from rest_framework_jwt.views import ObtainJSONWebToken, RefreshJSONWebToken

obtain_jwt_token = ObtainJSONWebToken(user_model='accounts.User').as_view()

router = DefaultRouter()
router.register(r'users', views.UserViewSet, basename='User')

urlpatterns = [
    path('', include(router.urls)),
    path('auth/', obtain_jwt_token),
]
Пример #4
0
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
from django.contrib.auth import urls
from django.contrib.auth import views as auth_views

from rest_framework_jwt.views import ObtainJSONWebToken, RefreshJSONWebToken

obtain_jwt_token = ObtainJSONWebToken(user_model='API.User').as_view()

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('API.urls')),
    path('auth/', obtain_jwt_token),
    path('change-password/', auth_views.PasswordChangeView.as_view()),
    path('reset-password/', auth_views.PasswordResetView.as_view()),
    path('password_reset/done/',
         auth_views.PasswordResetDoneView.as_view(),
         name='password_reset_done'),
    path('reset-password/<uidb64>/<token>/',
         auth_views.PasswordResetConfirmView.as_view(),
         name='password_reset_confirm'),
    path('reset-passwordreset/done/',
         auth_views.PasswordResetCompleteView.as_view(),
Пример #5
0
def test(request):
    o = ObtainJSONWebToken(JSONWebTokenAPIView)

    print(request.body)