示例#1
0
def refresh_token(request):
    token = refresh_jwt_token(request)
    print(token)
    exp = timezone.now() + exp_delta - datetime.timedelta(seconds=300)
    response = {
        'token': token,
        'exp': exp,
    }
    return Response(response, status=200)
示例#2
0
    def test_cant_refresh_token(self):
        # Developers generate tokens, not us, they should not be refreshable,
        # the refresh implementation does not even know how to decode them.
        api_key = self.create_api_key(self.user)
        payload = self.auth_token_payload(self.user, api_key.key)
        payload['orig_iat'] = timegm(payload['iat'].utctimetuple())
        token = self.encode_token_payload(payload, api_key.secret)

        request = self.factory.post('/lol-refresh', {'token': token})
        response = refresh_jwt_token(request)
        response.render()
        assert response.status_code == 400
        data = json.loads(response.content)
        assert data == {'non_field_errors': ['Error decoding signature.']}
    def test_cant_refresh_token(self):
        # Developers generate tokens, not us, they should not be refreshable,
        # the refresh implementation does not even know how to decode them.
        api_key = self.create_api_key(self.user)
        payload = self.auth_token_payload(self.user, api_key.key)
        payload['orig_iat'] = timegm(payload['iat'].utctimetuple())
        token = self.encode_token_payload(payload, api_key.secret)

        request = self.factory.post('/lol-refresh', {'token': token})
        response = refresh_jwt_token(request)
        response.render()
        assert response.status_code == 400
        data = json.loads(response.content)
        assert data == {'non_field_errors': ['Error decoding signature.']}
示例#4
0
 def test_post_response(self):
     post_body = {
         'username': '******',
         'email': '*****@*****.**',
         'password': '******'
     }
     request = APIRequestFactory().post('/', post_body, format='json')
     request.user = AnonymousUser()
     response = api_views.CreateUserView.as_view()(request)
     token = response.data['token']
     request = APIRequestFactory().post('/', {'token': token})
     request.user = AnonymousUser()
     response = refresh_jwt_token(request)
     assert response.status_code == 200, 'Should return 200 OK'
     assert response.data.get('token'), 'Should return refreshed token'
     assert response.data.get('user'), 'Should return user data'
     assert response.data.get('user')['username'] == 'username', \
         'Should return the same user data'