Jak usunąć sesyjne pliki cookie w Postman?

108

Testuję swoje API w programie Postman i mam problem z symulacją wylogowania .

Jeśli wykonam wywołanie, aby usunąć plik cookie sesji, plik cookie prośba listonosza
sesji nadal istnieje i nadal mogę uzyskać dostęp do tras, które wymagają uwierzytelnienia.

Program obsługi trasy na serwerze to:

  server.route({
    method: 'DELETE',
    path: '/sessions/_current',
    handler: function(req, reply){
      req.auth.session.clear();
      reply({}).code(204);
    }
  });

To jest Node.js z Hapi, ale to nie powinno mieć znaczenia.

Czy istnieje sposób na ręczne usunięcie wszystkich plików cookie w programie Postman lub niektórych plików cookie ?

Nelu
źródło

Odpowiedzi:

68

Ręczne usunięcie go w przeglądarce Chrome usuwa plik cookie z Postmana.

W przeglądarce Chrome przejdź do chrome://settings/cookies

Znajdź plik cookie i usuń go

Edycja: zgodnie z komentarzem Max890 poniżej (w mojej wersji Google Chrome (wersja 63)) to jest teraz chrome://settings/content/cookies Następnie przejdź do „Zobacz wszystkie pliki cookie i dane witryn”

Aktualizacja dla Google Chrome 79.0.3945.88

chrome: // settings / siteData? search = cookies

Dave Pile
źródło
12
Usunąłem również ciasteczka z chrome i cmd line, ale nadal Listonosz ma dane sesji.
151291
działa to również w samodzielnej aplikacji listonosza „nowojorskiego”. nie szukaj dalej!
John Culviner
3
To zadziała tylko wtedy, gdy zainstalowałeś rozszerzenie przechwytywacza listonosza i włączyłeś je, w przeciwnym razie otrzymasz opcje plików cookie poniżej przycisku wysyłania w listonoszu.
Indrasinh Bihola
3
W 2017 roku link to teraz chrome: // settings / content / cookies
max890
1
Ta odpowiedź jest nieaktualna.
ValRob
119

Postman 4.0.5 ma funkcję o nazwie Zarządzaj plikami cookie znajdującą się pod przyciskiem Wyślij , która, jak się wydaje, zarządza plikami cookie niezależnie od Chrome.

wprowadź opis obrazu tutaj

markus
źródło
4
Jeśli przesuniesz się o 2 cm w dół i 1 cm w prawo od prawej dolnej krawędzi niebieskiego przycisku wysyłania, jest przycisk
ciasteczek
@utkarshdubey nope
nuzzolilo
9
O ile wiem, jest to dostępne tylko w „aplikacji natywnej”, a nie w rozszerzeniu Chrome, jeśli ktoś się zastanawiał.
EpicDavi
1
W bieżącej wersji samodzielnej aplikacji Postman (wersja 5.5.0) to łącze „Pliki cookie” znajduje się bezpośrednio pod przyciskami Wyślij i Zapisz. Zrzuty ekranu są poniżej autorstwa @moplin
Phillip Thomas,
9

W Native aplikacji Postman znajduje się „Menedżer plików cookie”, więc nie stanowi to żadnego problemu,

Ale w rozszerzeniu Postman dla Chrome nie ma

Więc rozwiązaniem jest tylko zainstalowanie natywnego Postman

Postman dla systemów Linux, Mac i Windows

Andrey
źródło
7

Zwróć uwagę, że ta odpowiedź dotyczy tylko samodzielnego interfejsu użytkownika Postman a nie aplikacji / dodatku Postman dla przeglądarki Chrome.

Jak wyczyścić pamięć podręczną w programie Postman (aby na przykład wymagane było ponowne zalogowanie się podczas żądania tokena):

  • przejdź do View: Show DevTools
  • przejdź do zakładki Aplikacja, a następnie do widoku Wyczyść pamięć w menu po lewej stronie
  • odznacz wszystkie opcje oprócz Pamięci podręcznej, a następnie kliknij „Wyczyść dane witryny”
  • uruchom ponownie Postman
  • powinieneś teraz zostać poproszony o ponowne zalogowanie się podczas żądania nowego tokena
Andrew Harrison
źródło
6

Czy jest włączony Postman Interceptor? Jego przełączenie spowoduje skierowanie wszystkich żądań i odpowiedzi przez przeglądarkę Chrome.

Interceptor - https://www.getpostman.com/docs/capture Cookies - http://blog.getpostman.com/index.php/2014/11/28/using-the-interceptor-to-read-and- zapis-cookies /

Ozyrys
źródło
2
Tak. Przetestowałem oba z włączonym i wyłączonym przechwytywaczem, a plik cookie nadal tam jest.
Nelu
Pracował dla mnie z Postman 4.7.1 (zainstalowany Interceptor, ponownie uruchom Postman i aktywowany przechwytywacz w Postman)
Guillaume
1

nowa wersja aplikacji listonosz ma możliwość robienia tego programowo w skryptach wstępnych lub testowych od 2019/08

zobacz więcej przykładów tutaj: Programowe usuwanie plików cookie · Problem # 3312 · postmanlabs / postman-app-support

wyczyść wszystkie pliki cookie

const jar = pm.cookies.jar();

jar.clear(pm.request.url, function (error) {
  // error - <Error>
});

pobierz wszystkie pliki cookie

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
});

uzyskać określony plik cookie

const jar = pm.cookies.jar();

jar.get('http://example.com', 'token', function (error, value) {
  // error - <Error>
  // value - <String>
});
aaron
źródło
0

do Chrome, kliknij prawym przyciskiem myszy -> Sprawdź element. Przejdź do zakładki aktywne śledzenie zasobów i jeśli jeszcze tego nie zrobiłeś. Teraz lewy pasek boczny przesuwaj w dół, aż zobaczysz „Ciasteczka”, kliknij poniżej nazwy swojej domeny i aby usunąć plik cookie, po prostu kliknij go prawym przyciskiem myszy i „Usuń”

BehrouzMoslem
źródło
0

Możesz użyć przechwytywacza Postman, który możesz dodać do rozszerzenia Chrome za pomocą tego linku: https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo

Pomaga to w wysyłaniu żądań korzystających z plików cookie przeglądarki za pośrednictwem aplikacji Postman. Może również wysyłać nagłówki, które są zwykle ograniczone przez Chrome, ale mają krytyczne znaczenie dla testowania interfejsów API.

Możesz także włączyć za pomocą przechwytywacza, który znajduje się obok pomarańczowej ikony synchronizacji Możesz także włączyć za pomocą przechwytywacza, który znajduje się obok pomarańczowej ikony synchronizacji.

lalithkumar
źródło
0

Próbowałem wyczyścić chromowane pliki cookie, aby pozbyć się plików cookie listonosza, jako jedną z odpowiedzi podanych tutaj. Ale to nie zadziałało dla mnie. Sprawdziłem moją wersję listonosza, stwierdziłem, że jest to stara wersja 5.5.4. Dlatego właśnie wypróbowałem aktualizację Postman do najnowszej wersji 7.3.4. Super, problem rozwiązany !!

Rinsha Rinz
źródło
0

Myślę, że odpowiedź aarona można ulepszyć dla adresu URL, który zawiera zmienne:

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);
});
Balaban Mario
źródło
-1

Czy próbowałeś rozszerzenia Clear Cache ? Spróbuj. Czyści pamięć podręczną aplikacji, pliki do pobrania, systemy plików, dane formularzy, historię, pamięć lokalną, hasła i wiele więcej, dostępnych w ustawieniach opcji.

Aktualizacja : spróbuj tej odpowiedzi https://superuser.com/a/232794

Nie jestem pewien, jak to zrobić w Postman. Kiedyś zamykałem całą przeglądarkę i resetowałem serwer w celu ponownego uwierzytelnienia. Nigdy nie testowano wylogowania, ponieważ była to usługa API.

Atieh
źródło