2015-02-23 13 views
8

कोणीय जेएस के साथ मेरा एसपीए बनाने के दौरान, मैं उस बिंदु पर आया जहां मैं अपने कोणीय जेएस वेबसाइट में उपयोगकर्ता प्रमाणीकरण को कार्यान्वित करना चाहता हूं। हालांकि, मुझे नहीं पता कि कहां से शुरू करना है और सर्वोत्तम प्रथाएं क्या हैं।कोणीयजेएस + लार्वेल 5 प्रमाणीकरण

असल में मुझे यकीन है कि एक या अधिक भूमिकाएं हो सकती हैं। मैंने उदाहरणों की तलाश की है, इसलिए मुझे यह सही तरीके से संभालने के बारे में बुनियादी समझ मिल सकती है, लेकिन अब तक मैं केवल उन उदाहरणों में आया हूं जो बहुत ही सरल हैं या इतनी सुरक्षित नहीं हैं (जैसे this)।

तो मेरा सवाल यह है कि, उपयोगकर्ता को प्रमाणीकृत करने के लिए आरईएसटी (या कस्टम एपीआई यूआरएल) का उपयोग करके प्रमाणीकरण सेवा को कैसे कार्यान्वित किया जाए, और फिर कोणीय जेएस का उपयोग करके पृष्ठ पर उपयोगकर्ता की जानकारी प्रदर्शित करें, जबकि उपयोग करके सर्वोत्तम सुरक्षा कवरेज सुनिश्चित करना (उदाहरण के लिए) Laravel से सीएसआरएफ टोकन?

अग्रिम धन्यवाद, निक वान डर Meij

उत्तर

18

मैं एक AngularJS अनुप्रयोग और एक API RESTful बैकएंड के लिए Laravel 5 के साथ किए गए बना रही हूँ, और प्रमाणीकरण के लिए मेरी दृष्टिकोण था:

  1. jwt-auth स्थापित किया गया। मूल रूप से टोकन के औथ मॉडल को टोकन के साथ प्राधिकरण जोड़ता है।
  2. लार्वेल को सरल भूमिका पैकेज जोड़ा गया। मैंने permiso का उपयोग किया। कई भूमिकाएं/उपयोगकर्ता और अनुमतियां/भूमिका है। बहुत आसान।
  3. जोड़ा गया जेएसओरेज जोड़ा गया। (आप इसके बजाय AngularJS मॉड्यूल का उपयोग कर सकते हैं)।

तो कदम हैं:

  1. दृश्यपटल उपयोगकर्ता क्रेडेंशियल भेज (ईमेल और पारित)।
  2. सर्वर चेक, jwt-auth उस उपयोगकर्ता को टोकन बनाता है और इसे वापस भेजता है।
  3. फ्रंटेंड ब्राउज़र संग्रहण पर टोकन को सहेजता है (इस दृष्टिकोण के साथ कोई सीएसआरएफ आवश्यक नहीं है)।
  4. एपीआई के सभी अगले कॉल Authorization: Bearer हैडर (या ?token=... साथ)
+0

मैं एक ही प्रारूप लागू करना चाहते हैं, लेकिन मैं पहले से ही लागू कर दिया है प्रवेश पैकेज द्वारा उपयोगकर्ता भूमिकाएं और अनुमतियां। @neoroger क्या सभी उपयोगकर्ता और भूमिका अनुमति के साथ प्रवेश के साथ jwt-auth को कार्यान्वित करना संभव है? किसी भी प्रकार की मदद की बेहद सराहना की जाती है? अग्रिम में thnx। – Tarunn

8

मैं एक ही दृष्टिकोण है कि @neoroger जेडब्ल्यूटी प्रमाणीकरण के साथ JSON वेब टोकन का उपयोग कर लेता है की तरह साथ बना रहे हैं। मैंने सैटेलाइटर पैकेज का इस्तेमाल सामने के अंत में टोकन को संग्रहीत करने के लिए किया था और बाद में एपीआई को प्रत्येक अनुरोध के साथ भेजना था।

मैं एक साथ एक जोड़ी ट्यूटोरियल बताते हैं कि कैसे दो संकुल को लागू करने के लिए यदि आप रुचि रखते हैं डाल:

https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps

http://ryanchenkie.com/token-based-authentication-for-angularjs-and-laravel-apps/

+0

मैंने अभी आपके 2 लेख पढ़ना समाप्त कर दिया है और उसने मुझे इतना सिखाया है। लारवेल के बीच जेडब्ल्यूटी के साथ और कोणीय के लिए सैटेलाइज़र का उपयोग करने के तरीके के बारे में दृष्टिकोण और स्पष्टीकरण से प्यार करें। धन्यवाद। – Neel

+1

बहुत बढ़िया! मदद करने में खुशी। – cienki

+1

:) मेरे पास सभी नियंत्रकों पर पहुंच प्रतिबंधित करने के लिए 'jwt.auth' मिडलवेयर का उपयोग करने के तरीके पर एक प्रश्न है। मैंने उस लेख पर टिप्पणियों को जोड़ा है।आज मैं ट्यूटोरियल डेमो के आसपास खेल रहा था और मैंने उस के माध्यम से लार्वेल और jwt प्रमाणीकरण के बारे में बहुत कुछ सीखा। सबसे अच्छा ट्यूटोरियल मैंने अभी तक पढ़ा है - इसमें कोई संदेह नहीं है! – Neel

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