2013-04-28 8 views
5

मैं और गूगल पर इतने पर 2 सवालों के कई विषयों को देखा था, लेकिन वह मुझे बाहर मदद नहीं की थीस्लिम ढांचे में मूल प्रमाणीकरण

  1. Authentication Based REST API with Slim
  2. Securing a REST API and Slim Framework

स्लिम आप अलग अलग प्रदान करता है बनाने पुट, जीईटी, पोस्ट इत्यादि जैसी विधियां। मैं कई प्राधिकरणों द्वारा लागू किए जाने वाले बुनियादी प्राधिकरण को कार्यान्वित करना चाहता हूं। पहला प्रश्न: क्या SSL आवश्यक है? (मेरे पास वर्तमान में नहीं है) दूसरा प्रश्न: इसे कैसे कार्यान्वित करें? जैसा कि मुझे एन्क्रिप्टेड रूप में हेडर में उपयोगकर्ता नाम और पासवर्ड भेजना है और उसके बाद मुझे प्रत्येक एपीआई कॉल में इस प्रमाणीकरण का उपयोग करना है कोई मदद?

उत्तर

6

में होगी।

https://github.com/codeguy/Slim-Extras/tree/master/Middleware

इसका उपयोग कैसे करें: तो अपने स्लिम फ्रेमवर्क के लिए अतिरिक्त जोड़ा? इस प्रकार:

use \Slim\Slim; 
use \Slim\Extras\Middleware\HttpBasicAuth; 

$app = new Slim(); 
$app->add(new HttpBasicAuth('theUsername', 'thePassword')); 
1

आपको वास्तव में SSL का उपयोग करना चाहिए क्योंकि आप इंटरनेट पर पासवर्ड (या एपीआई रहस्य) भेज देंगे। यदि यह एन्क्रिप्ट नहीं किया गया है, तो उपयोगकर्ता और आपके सर्वर के बीच कोई भी उन प्रमाण-पत्रों को चुरा सकता है।

यह सही है - आप शीर्षलेख में उपयोगकर्ता नाम/pwd भेज देंगे। Http बुनियादी प्रमाणीकरण कैसे करें के लिए वहां बहुत सारे संसाधन हैं। उदाहरण के लिए, this SO question। आपको प्रत्येक कॉल पर प्रमाणित करने की आवश्यकता होगी क्योंकि आप एक विश्वसनीय API बना रहे हैं (यानी स्टेटलेस, इसलिए आपके पास 'अधिकृत' स्थिति नहीं हो सकती है)।

मैं बंद हाथ यकीन है कि कैसे आप यूज़रनेम और पासवर्ड मिलेगा नहीं कर रहा हूँ, लेकिन मुझे लगता है कि वे आप स्लिम प्रमाणीकरण और XSS Middlewares उपयोग कर सकते हैं, उदाहरण के HttpBasic के लिए $app->request->headers()

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