Как передать тот же Cookie другим запросам в «request-обещание-native» - PullRequest
0 голосов
/ 29 января 2019

У меня есть запрос, который создает учетную запись, и если этот запрос успешен, то я хочу отправить другие запросы.Но я должен использовать тот же сессионный Cookie из первого запроса.Я хочу знать, как я могу поделиться cookie для других запросов?

Сначала я попытался просто отслеживать сеанс, включив опцию jar, затем использовать один и тот же объект запроса для всех запросов, .. \ createUser.ts

import * as request from 'request-promise-native';
request.defaults({ jar: true });

export class CreateUserAccount {

        const url = `https://${env}/api/v1/public/borrower/sign_up`
        const options = {
            uri: url,
            json: true,
            body: {
                branch: branch,
                account: {
                    email: email,
                    first_name: firstName,
                    last_name: lastName,
                    password: password
                } 
            }
        };

        await request.post(options, (error, response, body) => {
            if (error) {
                throw `Something went wrong on the newUserSignUp request: ${error}` ;
            }else {
                expect(response && response.statusCode).equals(201);
                expect(body.success).equals(true);
            }
        });
}

Но когда я отправляю свой второй запросЯ получаю 401 Несанкционированный.Не уверен, как мне передать куки на следующий запрос.Пожалуйста, нужна помощь.Спасибо

Также попробовал пользовательские файлы cookie

import * as request from 'request-promise-native';

export class CreateUserAccount {
       let cookie = new tough.Cookie({
           key: "_session_id",
           value: "d1hSZnN3aGJHU2hSY1ArNE4ySjRFV0NhSWFTelhZT",
           httpOnly: true,
           maxAge: 31536000
       });
       const cookiejar = request.jar();
       cookiejar.setCookie(cookie, env);   
       const url = `https://${env}/api/v1/public/borrower/sign_up`
       const options = {
           uri: url,
           jar: cookiejar,
           json: true,
           body: {
               branch: branch,
               account: {
                   email: email,
                   first_name: firstName,
                   last_name: lastName,
                   password: password
               } 
           }
       };

       await request.post(options, (error, response, body) => {
           if (error) {
               throw `Something went wrong on the newUserSignUp request: ${error}` ;
           }else {
               expect(response && response.statusCode).equals(201);
               expect(body.success).equals(true);
           }
       });
}

Для этого также первый запрос на создание пользователя работает нормально, но как мне использовать тот же файл cookie для других запросов?очень помогли

...