2015-12-17 17 views
5

मैं इस प्लगइन के साथ प्रयोग WP REST API प्रमाणन चाहते हैं: https://github.com/Tmeister/wp-api-jwt-authWP बाकी एपीआई जेडब्ल्यूटी प्रमाणन

मैं पोस्ट पर इस अनुरोध के साथ टोकन प्राप्त: http://localhost/wp_rest/wp-json/jwt-auth/v1/token

लेकिन मैं इस पद के लिए अनुरोध नहीं कर सकते mehod:

{ 
    "code": "rest_forbidden" 
    "message": "You don't have permission to do this." 
    "data": { 
     "status": 403 
    } 
} 
: स्थानीय होस्ट/wp_rest/WP-json/WP/v2/पदों

मैं त्रुटि मिल

मेरी शीर्ष लेख में मैं यह है:

Authorization: Bearer 
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3RcL3dwX3Jlc3QiLCJpYXQiOjE0NTAzNDEwMTgsIm5iZiI6MTQ1MDM0MTAxOCwiZXhwIjoxNDUwOTQ1ODE4LCJkYXRhIjp7InVzZXIiOnsiaWQiOiIxIn19fQ.rGNPsU4EocClWLYWaSDs1hDJMODszg-eKfqnKSEsiw0 

मैं स्थानीय होस्ट/wp_rest/WP-json के साथ कोशिश कर रहा हूँ/जेडब्ल्यूटी लेखन/v1/टोकन/सत्यापित करें, लेकिन मैं इस त्रुटि मिलती है:

{ 
    "code": "jwt_auth_no_auth_header", 
    "message": "Authorization header not found.", 
    "data": { 
     "status": 403 
    } 
} 

कोई विचार?

उत्तर

4

ऐसा लगता है कि आपने अपने अनुरोध में प्राधिकरण शीर्षलेख शामिल नहीं किए हैं। आपको अपने अनुरोध शीर्षलेख में 'Authorization': 'Bearer PLACE_TOKEN_HERE' जोड़ने की आवश्यकता है।

एक नमूना के रूप में:

var req = { 
    method: 'POST', 
    url: window.location.href + 'wp-json/wp/v2/posts', 
    headers: { 
     'Authorization': 'Bearer ' + TOKEN_GOES_HERE 
    } 
    data: DATA TO PASS GOES HERE 
} 
$http(req); 
+0

यह मेरी समस्या हल है, लेकिन एक टूलसेट के माध्यम से परीक्षण। –

4

सिंह Gono और Tunaki द्वारा प्रदान की जवाब अभी भी आपकी समस्या का समाधान नहीं होता है, सुनिश्चित करें कि आप अपने .htaccess को following code में शामिल किया है:।

RewriteEngine on 
RewriteCond %{HTTP:Authorization} ^(.*) 
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] 

अपनी लाइनों को अपनी .htaccess में "[एल]" के साथ अंतिम पंक्ति से पहले रखना सुनिश्चित करें या नहीं, यह संसाधित नहीं होगा।

यह संभव है कि प्राधिकरण शीर्षलेख ढांचे सेटिंग्स के सर्वर द्वारा त्याग दिया जाए। (मुझे लैरावेल के लिए एचटीएसीएसी बदलना पड़ा)

+0

nginx सर्वर और विंडोज सर्वर में HTTP प्राधिकरण शीर्षलेख को सक्षम करने की आवश्यकता नहीं है। डिफ़ॉल्ट रूप से इसके बिना काम किए, काम कर रहा है। –

+0

ओह, यह जानना अच्छा है। मुझे अपाचे के लिए इसे बदलना पड़ा। –

+2

अपनी लाइनों को अपनी .htaccess में "[एल]" के साथ अंतिम पंक्ति से पहले रखना सुनिश्चित करें या नहीं, यह संसाधित नहीं होगा। –

0

उसी प्लगइन को स्थापित करते समय मैंने इसी तरह की समस्याओं में उछाल दिया, इसलिए मैंने एक परीक्षण वातावरण को तुरंत लॉन्च करने, प्लगइन स्थापित करने, प्लगइन स्थापित करने के लिए मैंने जिस प्रक्रिया का पालन किया, उसका विवरण दिया। काम करने के लिए प्लगइन के लिए आवश्यक सेटअप और फिर इसकी कार्यक्षमता को मान्य करें।

संदेश यह है: https://youtu.be/Mp7T7x1oxDk

0

मैं बिल्कुल वैसा ही मुद्दा था। मेरा समाधान सरल था।

उपकरण का उपयोग (मेरे मामले पोस्टमैन (https://www.getpostman.com) में), मैंने मैन्युअल रूप से प्रमाणीकरण शीर्षलेख (शीर्षलेख को मजबूर करना) जोड़ने के लिए चुना है। कोड का उपयोग करते समय आप इसे मैन्युअल रूप से सेट करना चाहते हैं, HTTP शीर्षलेख अनुभाग के तहत (पैरामीटर के रूप में नहीं, बस मामले में :))।

Checked enable Authentication header

सधन्यवाद, रेइनहार्ड

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