Где ключ в новой службе приложений Azure?

При использовании классических мобильных служб Azure вы получали ключ вместе с URL-адресом для своего приложения мобильной службы. Этот ключ также использовался для изучения API на вашем внутреннем сайте и использовался в качестве пароля.

С новыми службами приложений Azure все, что вам нужно для запуска клиента мобильной службы, — это URL-адрес, как показано ниже.

private static readonly MobileServiceClient MobileService = new MobileServiceClient("https://thecityapp.club");

Нет ключа *a второго параметра, который был доступен в мобильных службах Azure. Что сейчас используется в качестве пароля для изучения API в Интернете?


person Supreet    schedule 06.01.2016    source источник
comment
Обновление: ключ назывался Application Key, который сейчас недоступен.   -  person Supreet    schedule 06.01.2016


Ответы (2)


Суприт,

В службах приложений/мобильных приложениях ключ приложения больше не используется/не требуется, поэтому он больше не доступен на портале. Вы можете создать экземпляр клиента с приведенным выше кодом и начать использовать API службы без этой информации.

Для проверки подлинности см. эту документацию: https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-windows-store-dotnet-get-started-users/

Надеюсь, это поможет.

person Fabio Cavalcante    schedule 06.01.2016
comment
Довольно неприятно, что этот ключ устарел как минимум четыре месяца, но в документации к клиентской библиотеке HTML/JavaScript по-прежнему говорится, что вам нужен AppKey для создания экземпляра MobileServiceClient. Подобные вещи делают функцию Easy Tables в Azure не такой простой. (azure. microsoft.com/en-us/documentation/articles/) - person pettys; 09.05.2016
comment
@pettys, извините, документация немного запутанная. Причина, по которой в приведенной выше ссылке по-прежнему упоминается ключ приложения, заключается в том, что эта документация охватывает мобильные службы, а не мобильные приложения (в которых поддержка ключа приложения была удалена). Ведутся некоторые работы по более четкому разделению документов, чтобы не смешивать их (я делаю это часто). - person Fabio Cavalcante; 10.05.2016
comment
Спасибо, что нашли время ответить - я ценю это. К сожалению, я все еще сожалею, что не решил попробовать Azure Mobile [App|Services] для этого действительно небольшого проекта. Думал, что это будет быстрый и веселый побочный проект с новым классным инструментом, но он превратился в одно разочарование за другим, начиная с проблем с лазурным порталом, пытаясь настроить простые таблицы мобильного приложения для использования лазурного хранилища в качестве серверной части - не смог заставить его работать. Извините, что разглагольствую - я надеюсь, что это поможет, желаю вам всего наилучшего, и я очень ценю ваше участие сообщества в переполнении стека. - person pettys; 10.05.2016

При желании вы можете реализовать ключ приложения для мобильного приложения Azure.

Вы можете установить ключ приложения для мобильного приложения Azure, например для мобильных служб Azure.

1. Откройте параметры приложения в мобильном приложении Azure.

2. Прокрутите вниз до пункта Настройки приложения. Добавьте эти две строки.

| zumo-api-ключ | ВВЕДИТЕ КЛЮЧ API |

| MS_SkipVersionCheck | Правда |

3. Затем нажмите Сохранить.

4. Откройте Редактор службы приложений.

5. Создайте файл в своей основной папке wwwroot.

6. Назовите файл validateApiKey.js.

// ----------------------------------------------------------------------------
// Copyright (c) 2015 Microsoft Corporation. All rights reserved.
// ----------------------------------------------------------------------------

module.exports = function (req, res, next) {
// Validate zumo-api-key header against environment variable.
// The header could also be validated against config setting, etc
var apiKey = process.env['zumo-api-key'];

if (apiKey && req.get('zumo-api-key') != apiKey)
    return res.status(401).send('This operation requires a valid api key');
else
    return next();
}

6. Обновите свой скрипт API как

[примерAPI.js]

var validateApiKey = require('../validateApiKey');
module.exports = {
    "get": [validateApiKey, function(request, response, next)
    {
        response.send(
        {
            message: "post"
        });
    }],
    "post": [validateApiKey, function(request, response, next)
    {
        response.send(
        {
            message: "post"
        });
    }]
};

[образецAPI.json]

{
  "get": {
    "access": "anonymous"
  },
  "post": {
    "access": "anonymous"
  },
  "put": {
    "access": "anonymous"
  },
  "patch": {
    "access": "anonymous"
  },
  "delete": {
    "access": "anonymous"
  }
}

Не забудьте сменить права на "Анонимно"

6. Обновите сценарий таблицы как

[sampleTable.js]

var azureMobileApps = require('azure-mobile-apps'),
    validateApiKey = require('../validateApiKey');

// Create a new table definition
var table = azureMobileApps.table();

// Access should be anonymous so that unauthenticated users are not rejected
// before our custom validateApiKey middleware runs.
table.access = 'anonymous';

// validate api key header prior to execution of any table operation
    table.use(validateApiKey, table.execute);
// to require api key authentication for only one operation (in this case insert)
// instead of table.use(validateApiKey, table.execute) use:
// table.insert.use(validateApiKey, table.operation);

module.exports = table;

[sampleTable.json]

{
  "softDelete" : true,
  "autoIncrement": false,
  "insert": {
    "access": "anonymous"
  },
  "update": {
    "access": "anonymous"
  },
  "delete": {
    "access": "anonymous"
  },
  "read": {
    "access": "anonymous"
  },
  "undelete": {
    "access": "anonymous"
  }
}

Не забудьте сменить права на "Анонимно"

7. Готово!

Не забудьте добавить заголовок при вызове мобильного или веб-приложения Azure.

Кроме того, вы можете увидеть больше из этого репозитория на Github.

https://github.com/thisisfatih/applicationKeyAzure/

person thisisfatih    schedule 12.10.2016