cleanup scopes
This commit is contained in:
parent
60527d18c3
commit
200f1f9541
1 changed files with 9 additions and 8 deletions
|
|
@ -3,11 +3,11 @@ from django.contrib.auth.decorators import login_required
|
||||||
from django.contrib.auth.views import LoginView
|
from django.contrib.auth.views import LoginView
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from oauth2_provider.contrib.rest_framework import IsAuthenticatedOrTokenHasScope, OAuth2Authentication, \
|
from oauth2_provider.contrib.rest_framework import IsAuthenticatedOrTokenHasScope
|
||||||
TokenMatchesOASRequirements
|
from rest_framework import generics, status
|
||||||
from rest_framework import generics, permissions, status
|
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
|
from apps.gooyal_oauth2.rest_framework import IsAuthenticatedOrTokenMatchesOASRequirements
|
||||||
from apps.users.forms import OTPAuthenticationForm
|
from apps.users.forms import OTPAuthenticationForm
|
||||||
from apps.users.models import User
|
from apps.users.models import User
|
||||||
from apps.users.serializers import PublicUserSerializer, AccountSerializer, RequestOTPSerializer, \
|
from apps.users.serializers import PublicUserSerializer, AccountSerializer, RequestOTPSerializer, \
|
||||||
|
|
@ -17,7 +17,7 @@ UserModel = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
class UserListView(generics.ListAPIView):
|
class UserListView(generics.ListAPIView):
|
||||||
permission_classes = [permissions.IsAuthenticated, TokenMatchesOASRequirements]
|
permission_classes = [IsAuthenticatedOrTokenMatchesOASRequirements]
|
||||||
queryset = User.objects.all()
|
queryset = User.objects.all()
|
||||||
serializer_class = PublicUserSerializer
|
serializer_class = PublicUserSerializer
|
||||||
required_alternate_scopes = {
|
required_alternate_scopes = {
|
||||||
|
|
@ -26,7 +26,7 @@ class UserListView(generics.ListAPIView):
|
||||||
|
|
||||||
|
|
||||||
class UserDetailView(generics.RetrieveAPIView):
|
class UserDetailView(generics.RetrieveAPIView):
|
||||||
permission_classes = [permissions.IsAuthenticated, TokenMatchesOASRequirements]
|
permission_classes = [IsAuthenticatedOrTokenMatchesOASRequirements]
|
||||||
queryset = User.objects.all()
|
queryset = User.objects.all()
|
||||||
serializer_class = PublicUserSerializer
|
serializer_class = PublicUserSerializer
|
||||||
lookup_field = 'uuid'
|
lookup_field = 'uuid'
|
||||||
|
|
@ -37,12 +37,13 @@ class UserDetailView(generics.RetrieveAPIView):
|
||||||
|
|
||||||
class AccountView(generics.RetrieveUpdateAPIView):
|
class AccountView(generics.RetrieveUpdateAPIView):
|
||||||
serializer_class = AccountSerializer
|
serializer_class = AccountSerializer
|
||||||
permission_classes = [TokenMatchesOASRequirements]
|
permission_classes = [IsAuthenticatedOrTokenMatchesOASRequirements]
|
||||||
required_alternate_scopes = {
|
required_alternate_scopes = {
|
||||||
"GET": [["accounts.account:retrieve"]],
|
"GET": [["accounts.account:retrieve"]],
|
||||||
"POST": [["accounts.account:update"]],
|
"POST": [["accounts.account:update"]],
|
||||||
"PUT": [["accounts.account:update"]],
|
"PUT": [["accounts.account:update"]],
|
||||||
}
|
"PATCH": [["accounts.account:update"]],
|
||||||
|
}
|
||||||
|
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
return self.request.user
|
return self.request.user
|
||||||
|
|
@ -58,7 +59,7 @@ class RequestOTPView(generics.CreateAPIView):
|
||||||
|
|
||||||
|
|
||||||
class ChangePasswordView(generics.UpdateAPIView):
|
class ChangePasswordView(generics.UpdateAPIView):
|
||||||
permission_classes = [permissions.IsAuthenticated, IsAuthenticatedOrTokenHasScope]
|
permission_classes = [IsAuthenticatedOrTokenHasScope]
|
||||||
serializer_class = ChangePasswordSerializer
|
serializer_class = ChangePasswordSerializer
|
||||||
required_scopes = ["accounts.account:change_password"]
|
required_scopes = ["accounts.account:change_password"]
|
||||||
model = User
|
model = User
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue