Как установить значение cookie в HttpResponse, а затем вернуть перенаправление в Django? - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь преобразовать приложение node.js express.js в приложение Django.Вот два представления url в nodejs expressjs.

app.get('/app', (req, res) => {
  if (store) {


    const state = nonce();           #Creating a random string
    res.cookie('state', state);      #Setting a cookie to response
    res.redirect('/app/success');    #Redirect to below view


  } else {
    return res.status(400).send('Request 400');
  }
});

И это еще один

app.get('/app/success', (req, res) => {
  const { state } = req.query;
  const stateCookie = cookie.parse(req.headers.cookie).state;

  if (state !== stateCookie) {
    return res.status(403).send('Request origin cannot be verified');
  }

  } else {
    res.status(400).send('Required parameters missing');
  }
});

И при этом я написал это

def storeView(request):
    if(store):


        state = get_random_string(length=32)        #equivalent of noonce()
        HttpResponse().set_cookie('state', state)   #res.cookie('state', state);
        return redirect('/app/success')             #res.redirect('/app/success');


    else:
        return HttpResponseBadRequest()

Но когдаЯ пытаюсь получить cookie, он выдает ошибку.

def callbackview(request):
    response =  HttpResponse()
    stateCookie = request.COOKIES['state']    #this gives error

        if (shop and hmac and code):
            return HttpResponse("checkpoint 2")
        else:
            return HttpResponseBadRequest()
    else:
        return response
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...