2014-07-25 8 views
5

के साथ एम्बर-सरल-ऑथ का उपयोग कर सकता हूं मेरे पास एक प्रोजेक्ट चल रहा है और मैं एक्सप्रेस/पासपोर्ट डोमेन कुकीज़ के माध्यम से अपने प्रमाणीकरण और प्रमाणीकरण को संभालने के लिए सर्वर पक्ष का उपयोग कर रहा हूं, जादुई रूप से सिड कुकी को आगे भेजकर राज्य को संभाल लें।क्या मैं एक्सप्रेस/पासपोर्ट सत्र डोमेन कुकीज़

मैंने क्लाइंट पर अधिक लेख प्रबंधन नहीं बनाया था, मुझे बस उपयोगकर्ता डेटा प्राप्त हो रहा था जो सर्वर जेड ऑब्जेक्ट के रूप में सर्वर दृश्य में मेरे लिए बूटस्ट्रैप करेगा। मैं इसे एम्बर में बेहतर तरीके से संभालना चाहता था इसलिए मैंने एम्बर-सरल-एथ को लागू करना शुरू किया और मैं लॉग इन, राज्य इत्यादि को बहुत अच्छी तरह से संभालने में सक्षम था लेकिन ऐसा लगता है कि यह हमेशा टोकन रणनीति पर निर्भर करता है।

अभी मेरा कोड इस तरह दिखता है और जैसा कि आप देख सकते हैं कि मुझे इसे काम करने के लिए टोकन ऑब्जेक्ट के साथ एक वादे को हल करना है, लेकिन मेरी वांछित रणनीति को टोकन की आवश्यकता नहीं है।

authenticate: function(credentials) { 
      var _this = this; 
      return new Ember.RSVP.Promise(function(resolve, reject) { 
       Ember.$.ajax({ 
        url: _this.tokenEndpoint, 
        type: 'POST', 
        data: JSON.stringify({ 
         email: credentials.identification, 
         password: credentials.password 
        }), 
        contentType: 'application/json' 
       }).then(function(response) { 

        Ember.run(function() { 
         resolve({ 
          token: response.session.token 
         }); 
        }); 
       }, function(xhr, status, error) { 
        var response = JSON.parse(xhr.responseText); 
        Ember.run(function() { 
         reject(response.error); 
        }); 
       }); 
      }); 
     }, 

मेरा प्रश्न एंबर-सरल लेखन एक्सप्रेस/पासपोर्ट डोमेन कुकीज़ के साथ काम करने के लिए अनुकूलित या मैं एक वाहक रणनीति या OAuth2 या कुछ और उपयोग करने के लिए अपने सर्वर को बदलने के लिए है हो सकता है।

धन्यवाद।

उत्तर

4

एम्बर सरल एथ को टोकन की आवश्यकता नहीं है। ज्यादातर मामलों में हालांकि "प्राधिकरण" को आपके एपीआई सर्वर पर जाने वाले अनुरोधों में इंजेक्ट करने के लिए टोकन की आवश्यकता होती है (यहां देखें: http://ember-simple-auth.simplabs.com/ember-simple-auth-api-docs.html#SimpleAuth-Authorizers-Base)। यदि आप कुकीज़ का उपयोग कर रहे हैं तो आपको वास्तव में एक लेखक की आवश्यकता नहीं है, हालांकि कुकी को सर्वर पर भेजा जाएगा वैसे भी इसे प्रमाणित उपयोगकर्ता की पहचान करने दें। उस स्थिति में आप बस उदाहरण के साथ हल कर सकते हैं restore विधि में है कि मूल्य के लिए { authenticated: true }authenticate विधि से और जाँच:

restore: function(data) { 
    return new Ember.RSVP.Promise(function(resolve, reject) { 
    if (data.authenticated) { 
     resolve(data); 
    } else { 
     reject(); 
    } 
    }); 
} 
+1

अपने जवाब और महान प्लगइन के लिए आप मार्को धन्यवाद। मेरे पास यह काम कर रहा है मैं जल्द ही एक ट्यूटोरियल लिखूंगा। – mobetta

+4

@mobetta ट्यूटोरियल कैसे चल रहा है? :) – SuperUberDuper

+0

@mobetta ट्यूटोरियल पर कोई खबर? – charsi

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