Exemplo n.º 1
0
Arquivo: views.py Projeto: rtm516/core
    def post(self, request, *args, **kwargs):
        serializer = self.serializer_class(data=request.data,
                                           context={'request': request})
        serializer.is_valid(raise_exception=True)
        user = serializer.validated_data['user']
        if user is None:
            return FormattedResponse(status=HTTP_401_UNAUTHORIZED,
                                     d={'reason': 'login_failed'},
                                     m='login_failed')

        if user.has_2fa():
            return FormattedResponse(status=HTTP_401_UNAUTHORIZED,
                                     d={'reason': '2fa_required'},
                                     m='2fa_required')

        token = providers.get_provider('token').issue_token(user)
        return FormattedResponse({'token': token})
Exemplo n.º 2
0
 def create(self, validated_data):
     return providers.get_provider('registration').register_user(**validated_data, context=self.context)
Exemplo n.º 3
0
Arquivo: views.py Projeto: rtm516/core
 def issue_token(self, user):
     token = providers.get_provider('token').issue_token(user)
     return FormattedResponse({'token': token})
Exemplo n.º 4
0
 def validate(self, data):
     user = providers.get_provider('login').login_user(**data, context=self.context)
     data['user'] = user
     return data