मेरे पास पोस्ट डेटा के साथ एक एपीआई कॉल है; मान लें कि यह लॉगिन प्रक्रिया है।लार्वा एपीआई टोकनमिस्मैच अपवाद
क्रोम का डाकिया विस्तार मैं भेज साथ, पोस्ट के माध्यम से, उपयोगकर्ता नाम और पासवर्ड में उपयोगकर्ता लॉग इन करने के लेकिन मैं इस संदेश मिला:।
Illuminate \ Session \ TokenMismatchException
मेरी बेस नियंत्रक में मेरे पास है:
/**
* Initializer.
*
* @return void
*/
public function __construct() {
// CSRF Protection
$this->beforeFilter('csrf', array('on' => 'post'));
// Layouts/Notifications
$this->messageBag = new Illuminate\Support\MessageBag;
}
जब मैं पहले से पंक्ति को हटा देता हूं तो सब कुछ ठीक काम करता है। लेकिन यह एक समाधान नहीं हो सकता है। कोई भी पोस्ट कॉल इस त्रुटि संदेश को प्राप्त करेगा। मुझे पता है कि मुझे इस _ टोकन की आवश्यकता है। लेकिन जब मैं एपीआई से फोन करता हूं तो मुझे यह टोकन कैसे मिलता है? मुझे पता है कि मैं लार्वेल के अंदर एक टोकन बना सकता हूं, लेकिन जब मैं एपीआई के माध्यम से बाहर से कॉल करता हूं तो मैं यह कैसे कर सकता हूं?
क्योंकि आप, एक पैरामीटर के रूप के माध्यम से टोकन भेजने के लिए CSRF फिल्टर इनपुट के _token क्षेत्र की जाँच करेगा के रूप में की जरूरत है। यदि आप इसे नहीं भेज रहे हैं तो यह चेक असफल हो जाएगी। –
ठीक है। संदिग्ध वर्णन के लिए sry ... मुझे पता है कि मुझे इस _ टोकन की जरूरत है।लेकिन जब मैं एपीआई कॉल करता हूं तो मुझे यह टोकन कैसे मिलता है? मुझे पता है कि मैं लार्वेल के अंदर एक टोकन बना सकता हूं, लेकिन जब मैं एपीआई के माध्यम से बाहर से कॉल करता हूं तो मैं यह कैसे कर सकता हूं? – goldlife
आम तौर पर एपीआई का उपयोग क्रॉस साइट अनुरोधों के लिए किया जाता है। तो आपकी सीएसआरएफ सुरक्षा व्यर्थ है। इसका मुख्य रूप से अनुप्रयोगों और वेबसाइटों के लिए उपयोग किया जाता है। लेकिन इसे लॉग इन करने पर अक्षम करें, और उसके बाद सफल लॉग पर उपयोगकर्ता को csrf_token मान को सहायक 'csrf_token();' –