Sencha touch 2 azure как добавить аутентификацию заголовка в invokeApi?

#javascript #azure #http-headers #sencha-touch-2 #azure-mobile-services

#javascript #azure #http-заголовки #sencha-touch-2 #azure-mobile-services

Вопрос:

Итак, как я могу добавить аутентификацию заголовка в Ext.Azure.invokeApi() запрос? Моей программе требуется аутентификация заголовка для доступа к пользовательскому api, потому что я установил разрешения на работу только для пользователей, прошедших проверку подлинности.

Ответ №1:

В текущей версии аутентификация заголовка не добавляется в API invoke, но ее легко добавить с помощью переопределения.

Взгляните на Ext.azure.Azure.getDefaultHeaders() — вы можете изменить его на следующее:

 getDefaultHeaders : function() {
    var headers = {
        'X-ZUMO-APPLICATION' : this.getAppKey(),
        'X-ZUMO-VERSION'     : this.getUserAgentString()
    };

    var authorizedUser = Ext.azure.Authentication.getCurrentUser();

    if (typeof authorizedUser !== 'boolean') {
        headers['X-ZUMO-AUTH'] = authorizedUser.get('token');
    }

    return headers;
}
  

И это помогло бы. Я зарегистрирую ошибку о невозможности сделать это в текущей версии и постараюсь ее исправить в ближайшее время.

Чтобы создать переопределение, включите следующий код где-нибудь в свое приложение:

 Ext.define('Ext.override.Azure', {
    override : 'Ext.azure.Azure',

    getDefaultHeaders : function() {
        var headers = {
            'X-ZUMO-APPLICATION' : this.getAppKey(),
            'X-ZUMO-VERSION'     : this.getUserAgentString()
        };

        var authorizedUser = Ext.azure.Authentication.getCurrentUser();

        if (typeof authorizedUser !== 'boolean') {
            headers['X-ZUMO-AUTH'] = authorizedUser.get('token');
        }

        return headers;
    }
});
  

Комментарии:

1. Как мне добавить это переопределение в мое приложение? Нужно ли редактировать пакет Azure?

2. Спасибо! Это очень помогает. : D