我正在Postman中测试我的API,但我无法模拟注销。
如果我打电话删除会话cookie,
之后会话cookie 仍然存在,我仍然可以访问需要身份验证的路由。
服务器上的路由处理程序是:
server.route({
method: 'DELETE',
path: '/sessions/_current',
handler: function(req, reply){
req.auth.session.clear();
reply({}).code(204);
}
});
这是带有Hapi的Node.js,但它无所谓。
有没有办法在邮递员中删除所有Cookie 或手动某些Cookie ?
答案 0 :(得分:76)
答案 1 :(得分:10)
正如@markus所说,使用“Cookie管理器”并删除cookie。
如果您想了解如何在邮递员中设置销毁Cookie,您应该查看Postman Echo服务https://docs.postman-echo.com/
在那里,您将找到有关如何设置,获取和删除这些cookie的完整说明。
检查:https://docs.postman-echo.com/#3de3b135-b3cc-3a68-ba27-b6d373e03c8c
试一试。
答案 2 :(得分:8)
答案 3 :(得分:6)
是否启用了邮差拦截器?切换它将通过Chrome浏览器路由所有请求和响应。
拦截器 - https://www.getpostman.com/docs/capture Cookie文档 - http://blog.getpostman.com/index.php/2014/11/28/using-the-interceptor-to-read-and-write-cookies/
答案 4 :(得分:3)
请注意,此答案仅适用于独立邮递员用户界面,而不适用于Chrome的邮递员应用程序/插件。
如何清除Postman中的缓存(例如,在请求令牌时需要再次登录):
答案 5 :(得分:1)
自2019/08以来,新版本的邮递员应用程序可以在请求前或测试脚本中以编程方式进行操作
在此处查看更多示例:Delete cookies programmatically · Issue #3312 · postmanlabs/postman-app-support
const jar = pm.cookies.jar();
jar.clear(pm.request.url, function (error) {
// error - <Error>
});
const jar = pm.cookies.jar();
jar.getAll('http://example.com', function (error, cookies) {
// error - <Error>
// cookies - <PostmanCookieList>
// PostmanCookieList: https://www.postmanlabs.com/postman-collection/CookieList.html
});
const jar = pm.cookies.jar();
jar.get('http://example.com', 'token', function (error, value) {
// error - <Error>
// value - <String>
});
答案 6 :(得分:0)
你试过Clear Cache extension吗?试试看。它清除应用程序设置中提供的应用程序缓存,下载,文件系统,表单数据,历史记录,本地存储,密码等等。
更新:尝试此回答https://superuser.com/a/232794
我不确定在Postman中如何做到这一点。我曾经关闭整个浏览器并重置服务器以便再次进行身份验证。从未测试过注销,因为它是一个API服务。
答案 7 :(得分:0)
进入Chrome,右键单击 - &gt;检查元素。转到标签主动跟踪资源,如果还没有。现在左侧边栏有点向下,直到您看到“Cookies”,点击您的域名下方并删除cookie只需右键单击它并“删除”
答案 8 :(得分:0)
您可以使用Postman拦截器。您可以通过此链接添加到Chrome扩展程序中:https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo
这可以帮助您通过Postman应用程序发送使用浏览器cookie的请求。 它还可以发送通常受Chrome限制但对测试API至关重要的标头。
答案 9 :(得分:0)
我尝试清除chrome cookie以摆脱邮递员cookie,这是此处给出的答案之一。但这对我没有用。 我检查了邮递员版本,发现它是旧版本5.5.4。 因此,我只是尝试将Postman更新到最新版本7.3.4。 很酷,问题已解决!!
答案 10 :(得分:0)
我认为对于包含变量的URL,可以增强aaron的响应:
var sdk = require('postman-collection');
const testURL=pm.environment.values.substitute(pm.request.url, null, false);
const objURL=new sdk.Url(testURL);
console.log("clearing cookies for: "+testURL);
const jar = pm.cookies.jar();
jar.clear(objURL, function (error) {
// error - <Error>
if(error)
console.log("Error clearing cookies: "+error);
});