• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Automatizando requisições que exigem autenticação no Postman com pre-requests

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155
No Postman, como você testa as rotas da sua API REST ou as queries da sua API GraphQL que precisam de autenticação JWT? Você provavelmente cria uma rota/mutation para login e depois copia o token e coloca no header de authorization, certo? Nesse post eu vou te mostrar como você pode fazer todo esse processo de forma automatizada, seja em uma API REST ou GraphQL ?

  • Caso tenha algum problema, veja esta seção.
Criando variáveis


Primeiro, precisamos ter variáveis para usar como Bearer Token na requisição/mutation.

Criar uma variável é bem simples:

  1. Clique na sua collection criada (seu projeto) no Postman
  2. Vá para a seção variables e crie a variável:


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.



Criando scripts


Primeiro, você precisa criar um request/mutation que seja responsável por retornar um token que será utilizado. Por exemplo:


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.



Agora na request/mutation, vá para a seção scripts.

Script para query GraphQL


const url = '

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.


const method = 'POST';
const header = {
'Content-Type': 'application/json',
};
const graphqlMutation = {
query: `
mutation UserSignIn($email: String!, $password: String!) {
userSignIn(input: {
email: $email,
password: $password
}) {
token
error {
field
message
}
}
}
`,
variables: {
email: "postman_user@test.com",
password: "pass123"
}
};

pm.sendRequest({
url,
method,
header,
body: {
mode: 'raw',
raw: JSON.stringify(graphqlMutation)
}
}, (err, res) => {
if (err) {
console.error(err);
return;
}

const response = res.json();
if (response.errors) {
console.error("GraphQL Errors:", response.errors);
} else if (response.data.userSignIn.error) {
console.error("Authentication Error:", response.data.userSignIn.error);
} else {
pm.collectionVariables.set("bearerToken", response.data.userSignIn.token);
}
});
Script para API Rest


let url = `

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

`;
let method ='POST';
let header = {
'Content-Type': 'application/json',
};
let payload = {
login: "seu_login",
password: "sua_senha",
};

pm.sendRequest({
url,
method,
header,
body: {
mode: 'raw',
raw: JSON.stringify(payload)
},
}, (err, res) => {
if(err) {
console.log(err)
return;
}
pm.environment.set("bearerToken", res.json().access_token)
});
Mais algumas palavrinhas - troubleshooting e ajuda



Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх Снизу