def register(request): """ Register - registers user to the server. Input should be in the format: {"username": "******", "password": "******"} """ serializer = CreateUserSerializer(data=request.data) logger.info("Request Data: {}".format(request.data)) if serializer.is_valid(): serializer.save() data={ 'grant_type': 'password', 'username': request.data['username'], 'password': request.data['password'], 'client_id': CLIENT_ID, 'client_secret': CLIENT_SECRET, } http_request = convert_to_http_request(request, data) token_view = TokenView() view_response = token_view.post(request=http_request) logger.info("Register Response: {}".format(view_response.content)) return view_response logger.info("Serializer Errors: {}".format(serializer.errors)) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def refresh_token(request): """ Get refresh-token for long-term access: {"refresh_token": "<token>"} """ data={ 'grant_type': 'refresh_token', 'refresh_token': request.data['refresh_token'], 'client_id': CLIENT_ID, 'client_secret': CLIENT_SECRET, } http_request = convert_to_http_request(request, data) token_view = TokenView() view_response = token_view.post(request=http_request) logger.info("Refresh Token Response: {}".format(view_response.content)) return view_response
def token(request): """ Login - get tokens with username and password. Input should be in the format: {"username": "******", "password": "******"} """ data={ 'grant_type': 'password', 'username': request.data['username'], 'password': request.data['password'], 'client_id': CLIENT_ID, 'client_secret': CLIENT_SECRET, } http_request = convert_to_http_request(request, data) token_view = TokenView() view_response = token_view.post(request=http_request) logger.info("Login Response: {}".format(view_response.content)) return view_response