示例#1
0
def login(request):
    """
    Endpoint de login, recibe username y password y devuelve el token
    de autenticación de acceso al API.
    """
    username = request.data.get('username')
    password = request.data.get('password')
    if username is None or password is None:
        return send_error(code=4010,
                          msg='Please provide both username and password.')
    user = authenticate(username=username, password=password)
    if not user:
        return send_error(code=4010, msg='Invalid credentials.')
    token, _ = Token.objects.get_or_create(user=user)

    return Response({'token': token.key, 'is_admin': user.is_staff})
示例#2
0
def registration(request):
    """
    Endpoint de registro, se ingresa username, password e email(opcional)
    y devuelve el usuario.
    """
    serializer = UserSerializer(data=request.data)
    if serializer.is_valid():
        serializer.save()
        return Response(serializer.data, status=STATUS_MAP[201])
    else:
        return send_error(code=4000,
                          msg='Invalid request fields.',
                          data=serializer.errors)