नीचे दिया गया कोड वर्तमान में काम करता है लेकिन अगर मैं _setup वाली लाइन हटा देता हूं तो आउटगोइंग अनुरोधों में प्राधिकरण शीर्षलेख नहीं होता है।

ऐसा नहीं लगता कि मुझे _setup फ़ंक्शन का उपयोग करना चाहिए क्योंकि यह दस्तावेज़ीकरण में नहीं है।

मैं क्या गलत कर रहा हूं?

मैं Oauth Password Grant के साथ Ember और Ember-Simple-Auth के नवीनतम संस्करण का उपयोग कर रहा हूं।

Ember.getOwner(this).lookup('authenticator:custom').restore(token).then(() => {
    Ember.getOwner(this).lookup('session:main')._setup('authenticator:custom', token, true);
});
0
JonathanBristow 5 सितंबर 2017, 18:52

2 जवाब

सबसे बढ़िया उत्तर

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

एक कस्टम प्रमाणक के लिए एक विहित कॉल कुछ इस तरह दिखना चाहिए

  session: Ember.inject.service('session'),
  someFunction() {
    let token = this.get('tokenSavedSomewhere')
    this.get('session').authenticate('authenticator:custom', token).catch((reason) => {
      console.log('Reject reason', reason)
    });
  },
0
handlebears 10 सितंबर 2017, 07:12

अगर यह किसी की मदद करता है, तो मैं यही कर रहा हूं।

मार्ग/application.js (सांकेतिक टुकड़ा)

this.get('session').authenticate('authenticator:custom', token).catch((reason) => {
  console.log('Reject reason', reason)
})    

प्रमाणक/application.js

export default Authenticator.extend({
  authenticate(token) {
    return this.restore(token);
  }
});
1
NotHereAnymore 19 सितंबर 2017, 13:22