perf: 统一校验当前用户api (#8324)

Co-authored-by: feng626 <1304903146@qq.com>
This commit is contained in:
fit2bot
2022-06-07 19:26:07 +08:00
committed by GitHub
parent 2366f02d10
commit a5acdb9f60
16 changed files with 148 additions and 31 deletions

View File

@@ -9,8 +9,8 @@ from rest_framework.permissions import IsAuthenticated, AllowAny
from rest_framework.exceptions import APIException
from users.views import UserVerifyPasswordView
from users.utils import is_auth_password_time_valid
from users.models import User
from users.permissions import IsAuthConfirmTimeValid
from common.utils import get_logger, FlashMessageUtil
from common.utils.random import random_string
from common.utils.django import reverse, get_object_or_none
@@ -118,17 +118,12 @@ class WeComOAuthMixin(WeComBaseMixin, View):
class WeComQRBindView(WeComQRMixin, View):
permission_classes = (IsAuthenticated,)
permission_classes = (IsAuthenticated, IsAuthConfirmTimeValid)
def get(self, request: HttpRequest):
user = request.user
redirect_url = request.GET.get('redirect_url')
if not is_auth_password_time_valid(request.session):
msg = _('Please verify your password first')
response = self.get_failed_response(redirect_url, msg, msg)
return response
redirect_uri = reverse('authentication:wecom-qr-bind-callback', kwargs={'user_id': user.id}, external=True)
redirect_uri += '?' + urlencode({'redirect_url': redirect_url})