Заголовки с учетом обещаний Ember в адаптере - PullRequest
0 голосов
/ 16 июня 2020

Ищете способ установить заголовок в Ember ADAPTER LATER со значением, возвращаемым из вызова asyn c.

Попытка установить returend idToken из Auth.currentSession() Amplify, который является функцией обещания, которая внутренне обрабатывает обновление токена по истечении срока.

Примерно так, чтобы дождаться ответа -

headers: computed(async function() {
        return {
          'Authorization': await Auth.currentSession().getIdToken();
        };
      })

.

.

Я вижу, что 'Не делайте обещания с учетом вычисляемого свойства также для заголовков.

Также я не ищу решения, использующего ember-simple-auth / ember -ognito или любые другие дополнения, мне нужно достичь этого просто с помощью простого усиления заголовок библиотеки и адаптеров Ember ?.

1 Ответ

1 голос
/ 18 июня 2020

Возможное решение - переопределить метод ajax адаптера.

import DS from 'ember-data';

export default DS.RESTAdapter.extend({
    async ajax(...args) {
        // Store the parent call, so it can be called after getting the current session.
        const _super = this._super.bind(this);

        // Sorry, I'm unfamiliar with how you're accessing amplify
        const headers = await amplify.currentSession();

        this.set('headers', {
            'Authentication': headers.auth
        });

        return _super(...args);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...