2017-09-01 92 views
14

Bir süredir uygulama geliştirmemde Postman kullanıyorum ve hiç sorun yaşamadım. ASP.NET API kodumu hata ayıklarken, genellikle Google Chrome ile kullanıyorum.Postman cookie kullanmıyor

Yaklaşık bir ay kadar önce, Postman'ın sitemde yayınlanan çerezi göndermediği görünüyor.

Fiddler aracılığıyla, API'm yaptığım aramayı inceliyorum ve Postacı'nın API uygulamam tarafından verilen çerezi göndermediğini görüyorum. "Çerezler", ben yani .AspNetCore.mysite_cookie sorunu tanımlama görüyorum Altında

enter image description here

- aşağıya bakın:

aşağıya bakınız - Diğer çerezleri ama bunun göndermek gerekiyordu biri gönderiyor enter image description here

Bunun neden olabileceği hakkında bir fikriniz var mı?

P.S. Kodumda çerezimi adlandırmak için bazı değişiklikler yaptıktan sonra bu sorun başladı düşünüyorum. API uygulamam sosyal kimlik doğrulamayı kullanıyor ve kullanıcı kimlik doğrulaması yapıldıktan sonra ve kimliği doğrulanmış kullanıcılara verdiğim her iki çerezden birini, yani Facebook/Google/LinkedIn'den aldığım kitabı da eklememeye karar verdim. Sosyal sitelerden aldığım social_auth_cookie çerezini arıyorum ve yayınladığım konuya mysite_cookie. Bunun benim yaşadığım bu konuyla ilgili bir şey olduğunu düşünüyorum.

+1

bu yerel olarak veya üretime dağıtmak test ediyorsunuz? –

+0

Hem her iki durumda da, aynı sonuçları alıyorum. – Sam

+1

http veya https üzerinde konuşlandırılmış mu? ve http veya https'deki API çağrısı nedir? –

cevap

0

Son zamanlarda ASP.NET çekirdek 2.0 ile bu sorunla karşılaşıyorum. ASP.NET Core 1.1, ancak gayet iyi çalışıyor ve çerezler Postman'da ayarlanıyor gibi görünüyor

+1

SO'ya hoş geldiniz! Tam bir cevabınız olmadığından ("Bunu 2,0'de gördüm ama 1,1'de değil) bize niçin olduğunu söyleyemediğinden, orijinal soruyla ilgili bir yorum olarak daha iyi yayınlanabilir. bilinen hata). Tatmin edici olduğunu düşündüğünüz bir cevabı alana kadar yorum göndermeyi deneyin! –

+0

Bunu yapması için yeterli itibara sahip olduğunu sanmıyorum ... –

0

Anlattığınız gibi görünüyor, postacı ismini tanımıyor çünkü istediğiniz tanımlama bilgisini almıyor

  1. geri al'a tüm ad değişikliği ve eğer çalışırsa (sadece konunun köküne almak için) bakın: hala eski çerez kullanmayı işaret çerez ya,

    şeyler deneyebilirsin

  2. Bir cooki adı yeniden adlandırın e hala işe yarayıp yaramadığını kontrol edin, sonra diğerleriyle devam edin.

Bu şekilde hata ayıklama yaparak, sorunun sizi kök nedenine götüreceğini umuyorum.

1

Söz konusu çerez, secure attribute ayarlandığı için yasal olarak bir HTTP bağlantısı üzerinden gönderilemez. Nedense

, mysite_cookie, güvenli nitelik, social_auth_cookie farklı belirledi Ya ... kodunda

var cookie = new HttpCookie("mysite_cookie", cookieValue); 
cookie.Secure = true; 

ayarlayarak çünkü ... veya hizmet otomatik olarak ayarlamak için yapılandırıldığı için, Örneğin web.config böyle bir şey ile:

<httpCookies httpOnlyCookies="true" requireSSL="true"/> 

bayrağı da potansiyel olarak, bir üretim ortamında bir ağ cihazı (örneğin, bir SSL boşaltma cihazı) tarafından belirlenen olabilir. Ancak bu, dev ortamınızda pek olası değildir.

Aynı kod tabanını ancak bir https bağlantısı üzerinden denemenizi öneririm. Kimlik doğrulama mekanizmalarını etkileyen bir kod üzerinde çalışıyorsanız, gerçekten de gerçekten set up your development environment with SSL'a gerçekten sahip olmalısınız, ya da çok fazla sayıda hatayı kaçırmayacaksınız ve olası tehditler için anlamlı bir kalem testi veya uygulama taraması yapamayacaksınız. .

+0

Çerezleri güvenli hale getirmedim ve uygulamanın kök dizininde web.config yok. Ayrıca, Postacı çerezi hem üretim hem de yerel dev ortamlarda göndermez. Benim üretimim SSL kullanıyor ancak localhost yapmıyor. Bunun hala çerezin güvenli hale getirilmesinin neden olduğunu düşünüyor musunuz? – Sam

+0

Çerezin bayrağı güvenli olacak şekilde ayarlanmıştır. Orada öyle diyor. Eğer sen ayarlamadıysan, kimin yaptığını bulmalısın. Çevreleri karşılaştırarak çıkarımlar çizmeye dikkat etmeliyim, çünkü pek çok şey farklı olabilirdi-- kanıtları takip et. –

0

Tarayıcınızda varsa, çerezler hakkında endişelenmeniz gerekmez.

Tarayıcı tanımlama bilgilerini Postman Interceptor eklentisini ("In Sync" düğmesinin sol tarafı) yükleyerek kullanabilirsiniz.

Postman Interceptor

+0

Zaten Interceptor kullanıyorum ve bu konu başlayana kadar güzel çalışıyordu. Orijinal yayında belirttiğim gibi, bu sorunun zamanlaması benim çerezlerimi adlandırmamla çakışıyor. – Sam