7

की समाप्ति पर मैंने अपने वेब एपीआई (व्यक्तिगत खातों) के लिए सुरक्षा लागू की है जैसा कि here पर चर्चा की गई है।एएसपी.नेट वेब एपीआई प्रमाणीकरण टोकन शुरुआती

मैंने गोडाडी (साझा होस्टिंग) और उसके कामकाजी जुर्माना पर वेबसाइट की मेजबानी की है। जब मैं url "domain.com/token" का उपयोग करके टोकन के लिए पूछता हूं, तो मुझे 15 दिनों के भीतर समाप्ति तिथि के साथ टोकन मिलता है। मैं "StartupAuth.cs" का उपयोग

AccessTokenExpireTimeSpan = TimeSpan.FromDays(15) 

जैसे में इस की स्थापना की है:

{ 
    "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" 
} 

(मैं मान उपरोक्त कोड में डाल दिया है, लेकिन आप ".expires" मैदान के विचार प्राप्त

। के रूप में शीर्षक में वाहक टोकन:

Authorization: Bearer qwertyuiop..... 

5 मिनट गुजर प्राधिकरण द्वारा टोकन, जब मैं कोशिश करते हैं और पहुँच "मिल" या "पोस्ट" या मेरे एपीआई में किसी भी विधि प्राप्त करने के बाद

मैं इस त्रुटि मिलती है:

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

हालांकि इसकी सिर्फ 5 मिनट किया गया है और टोकन 15 दिनों तक माना जाता है, यह 5 मिनट के भीतर समाप्त हो रहा है। जब मैं 5 मिनट के अंतराल के भीतर किसी भी विधि "प्राप्त करें"/"पोस्ट" का अनुरोध करता हूं, तो मुझे JSON में अपने डेटा के साथ उचित प्रतिक्रिया मिलती है। संक्षेप में, प्रमाणीकरण सफल होता है।

मैंने फिडलर, क्रोम की आरईएसटी प्लगइन और एपीआई का उपयोग करने वाले मोबाइल ऐप के माध्यम से इसका परीक्षण करके इस व्यवहार को दोहराया है।

मैं नीचे के रूप में (मैं इससे संबंधित सोचा)

<sessionState timeout="180" /> 

नोट रूपों कि प्रमाणीकरण नहीं किया जाता है, तो web.config में उस अनुभाग पर टाइमआउट आवश्यक नहीं है सत्र के लिए web.config मान हैं।

कोई विचार क्या चल रहा है? यह टाइमआउट उन मोबाइल ऐप्स के उपयोगकर्ताओं को जन्म दे रहा है जो एपीआई का उपयोग हर बार फिर से लॉगिन करने के लिए करते हैं। किसी भी सहायता की सराहना की जाएगी।

धन्यवाद।

+0

मुझे एक ही समस्या है !! कोई भी मदद करता है? –

+0

मशीन कुंजी जोड़ना चाल था। why_not ने इसका भी उल्लेख नहीं किया है। मैं क्यों_not की पोस्ट को उत्तर के रूप में चिह्नित करूं? –

उत्तर

4

वेब सर्वर की जांच करें, आईआईएस में मशीन कुंजी को एप्लिकेशन स्तर पर सेट किया जा सकता है, हर बार जब ऐप पूल एक नई मशीन कुंजी को पुन: चलाता है तो आपको एक नया टोकन चाहिए। आप मशीन स्तर या रूट सर्वर स्तर पर मशीन कुंजी सेट कर सकते हैं। हो सकता है कि यह मदद कर सकता है

5

web.config में जोड़े एप्लिकेशन पूल रीसाइक्लिंग

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

यहां पढ़ें कैसे उत्पन्न करने के लिए होने से प्रभावित होने नहीं https://support.microsoft.com/en-us/kb/312906

-1

की तुलना में अधिक के लिए निष्क्रिय समय-आउट (मिनट) स्थापित करने का प्रयास करें 5 मिनट (आईआईएस आवेदन पूल-> उन्नत सेटिंग्स में पाया गया)।

संबंधित मुद्दे