7

here numaralı tartışmaya göre web api (bireysel hesaplar) için güvenlik uyguladık.ASP.NET Web API Yetkilendirme zaman aşımına uğradı

Web sitemizi godaddy'de (paylaşımlı barındırma) ve çalışmayı iyi değerlendirdim. URL'yi "domain.com/token" kullanarak belirtmek istediğimde, son kullanma tarihini 15 gün içinde sona erdirir. Ben

AccessTokenExpireTimeSpan = TimeSpan.FromDays(15) 

örneğin kullanarak "StartupAuth.cs" bu belirledik:

{ 
    "access_token":"qwertyuiop.....", 
    "token_type":"bearer", 
    "expires_in":1209599, 
    "userName":"[email protected]", 
    ".issued":"Wed, 11 Feb 2015 01:00:00 GMT", 
    ".expires":"Thu, 26 Feb 2015 01:00:00 GMT" 
} 

(Yukarıdaki kodda değerleri koyduk ancak ".expires" alanının fikir edinmek

. hamiline jetonu başlığında olduğu gibi:

Authorization: Bearer qwertyuiop..... 

5 dakika geçtikten yetki benim API belirteci, ben denemek ve erişim zaman "post" "get" da herhangi bir yöntem aldıktan sonra

bu hatayı alıyorum:

{"Message":"Authorization has been denied for this request."} 

Her ne kadar onun sadece 5 dakika oldu ve belirteç o 5 dakika içinde sona eriyor 15 gün sürmesi beklenir. 5 dakika içinde herhangi bir "get"/"post" yöntemi istediğimde, JSON'daki verilerimle uygun yanıtı alırım. Kısacası, yetkilendirme başarılı.

Bu davranışı, Fiddler, Chrome'un REST eklentisi ve API'yi kullanan mobil uygulama aracılığıyla test ederek bu işlemi tekrarladım. Kimlik doğrulama kullanılmaz oluşturan, böylece web.config bu bölümün üzerinde zaman aşımı gerekli değildir

<sessionState timeout="180" /> 

Not (I onunla ilgili düşünce) aşağıdaki gibi

ben oturum için web.config değerleri vardır.

Neler olduğu hakkında bir fikrin var mı? Bu zaman aşımı, API’yi kullanan ve artık her seferinde yeniden giriş yapmak için kullanılan mobil uygulama kullanıcılarına neden oluyor. Herhangi bir yardım takdir edilecektir.

Teşekkürler.

+0

Bende aynı sorun var! Herhangi birisine yardım etsin mi? –

+0

Makine anahtarı eklendiğinde hile yapıldı. why_not aşağıda da belirtmiştir. Why_not'un gönderisini nasıl yanıt olarak işaretlerim? –

cevap

4

WebServer'ı kontrol edin, IIS'de, Uygulama Anahtarını uygulama düzeyinde ayarlayabilirsiniz, uygulama havuzu yeni bir Makine Anahtarını geri dönüştürdüğünde her zaman yeni bir belirtecin olması gerekir. Makine tuşunu Web Sitesi düzeyinde veya Kök Sunucusu Seviyesinde ayarlayabilirsiniz. Belki bu

5

web.config ekle yardımcı olabilecek

<system.web> 
    <machineKey validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B" 
      decryptionKey="261F793EB53B761503AC445E0CA28DA44AA9B3CF06263B77" 
      validation="SHA1"/> 

nasıl oluşturulacağını burada Oku geri dönüşüm uygulaması havuz etkilenmemek amacıyla https://support.microsoft.com/en-us/kb/312906

-1

fazla için Boşta Zaman aşımı (dakika) olarak ayarlamayı deneyin 5 dakika (iis uygulama havuzunda> gelişmiş ayarlar) bulunur.

İlgili konular