Django Rest-Framework with simpleJWT returns Anonymous User when sending request from Postman

Viewed 273

I am trying to use SimplejWT along with Django Rest-Framework to do the authentication. When I go to the endpoint through the browser, I get this response: Response

But when I use postman, I get back an anonymous user. This is my postman config: Postman

My SimpleJWT config is:

SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': timedelta(days=30),
'REFRESH_TOKEN_LIFETIME': timedelta(days=1),
'ROTATE_REFRESH_TOKENS': False,
'BLACKLIST_AFTER_ROTATION': False,
'UPDATE_LAST_LOGIN': False,

'ALGORITHM': 'HS256',
'VERIFYING_KEY': None,
'AUDIENCE': None,
'ISSUER': None,
'JWK_URL': None,
'LEEWAY': 0,

'AUTH_HEADER_TYPES': ('Bearer',),
'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION',
'USER_ID_FIELD': 'id',
'USER_ID_CLAIM': 'user_id',
'USER_AUTHENTICATION_RULE': 'rest_framework_simplejwt.authentication.default_user_authentication_rule',

'AUTH_TOKEN_CLASSES': ('rest_framework_simplejwt.tokens.AccessToken',),
'TOKEN_TYPE_CLAIM': 'token_type',

'JTI_CLAIM': 'jti',

'SLIDING_TOKEN_REFRESH_EXP_CLAIM': 'refresh_exp',
'SLIDING_TOKEN_LIFETIME': timedelta(minutes=5),
'SLIDING_TOKEN_REFRESH_LIFETIME': timedelta(days=1),
 }

The code for the endpoint is:

@api_view(['GET'])
def get_user_profile(request):
    print(request.user)
    user= request.user
    serializer= UserSerializer(user, many= False)
    return Response(serializer.data)

The user serializer is coded this way:

class UserSerializer(serializers.ModelSerializer):

class Meta:
    model= User
    fields= ['id', 'username', 'email']
0 Answers
Related