Экспорт (0) Печать
Развернуть все

Выбор протокола аутентификации

Обновлено: Февраль 2014 г.

 

Эмблема DataMarket

Создайте приложение и предложите его широкой и непрерывно растущей клиентской базе на сайте Marketplace. Независимо от того, потребляет ваше приложение данные Marketplace или нет, вы можете стать членом сообщества и продавать свои приложения на сайте Marketplace. Marketplace выполняет подготовку продуктов и выставление счетов, а вам остается только пожинать плоды своего творчества. Если приложение использует данные Marketplace, для доступа к наборам данных пользователю необходимо пройти аутентификацию и авторизацию.

Microsoft Azure Marketplace (WAM) поддерживает два протокола аутентификации: базовая аутентификация HTTP и OAuth. Для того чтобы выбрать протокол, необходимо определить, кто и как использует ваше приложение.

Выбор протокола аутентификации

И базовая аутентификация HTTP, и аутентификация OAuth могут выполнить аутентификацию пользователя и предоставить ему доступ к защищенному ресурсу или отказать в таком доступе.

Для того чтобы выбрать оптимальный протокол аутентификации, ответьте на следующие вопросы:

  • Я буду продавать это приложение на сайте Marketplace?

  • Пользователь будет осуществлять доступ к одному или более наборам данных Marketplace?

Если вы ответили "Да" хотя бы на один из этих вопросов, необходимо использовать протокол аутентификации OAuth.

Базовая аутентификация HTTP

Реализация базовой аутентификации HTTP в Marketplace игнорирует ИД пользователя и только требует в качестве пароля действительный секретный ключ учетной записи. Можно игнорировать ИД пользователя или, если требуется управлять использованием приложения и выставлением счетов самостоятельно, можно использовать его для идентификации конкретных пользователей. Если приложение использует протокол базовой аутентификации HTTP для доступа к Marketplace, то:

  • все операции доступа выполняются с использованием одной учетной записи;

  • все пользователи используют один и тот же пароль (ключ учетной записи Marketplace).
    Независимо от того включен ли ключ учетной записи в код или он вводится пользователем, ключ учетной записи является менее конфиденциальным и секретным. Следовательно, его использование может стать причиной появления уязвимостей.

  • Marketplace выставляет все счета по операциям доступа на счет одной учетной записи, которая принадлежит владельцу ключа учетной записи (вероятно, это вы).

  • Удаление доступа для одного пользователя (путем изменения ключа учетной записи) удаляет доступ для всех пользователей.

  • Пользователям доступны только те наборы данных, на которые подписан владелец ключа учетной записи.

  • Если нужно, чтобы пользователи самостоятельно оплачивали использование системы, необходимо наладить управление индивидуальным пользованием и выставление индивидуальных счетов.

См. раздел Реализация базовой аутентификации HTTP в приложении Marketplace.

OAuth

Реализация протокола OAuth в Marketplace основана на использовании Windows Live ID и пароля пользователя, а также ключа регистрации приложения (client_id) для аутентификации и предоставления доступа к наборам данных. Использование OAuth обладает некоторыми дополнительными преимуществами с точки зрения безопасности, включая возможность выполнять аутентификацию клиента и пользователя и выдавать токен доступа непосредственно клиенту, не предоставляя его другим пользователям, в том числе владельцу ресурсов.

Если приложение использует протокол OAuth для доступа к Marketplace, то выполняются следующие условия.

  • Приложение должно быть зарегистрировано в Marketplace.

  • Каждый пользователь должен иметь идентификатор Windows Live ID.

  • Все операции доступа осуществляются через отдельную учетную запись пользователя.

  • Выставление счетов осуществляется на счет учетной записи одного пользователя.

  • Удаление доступа для одного пользователя не влияет на других пользователей.

  • Пользователю доступен любой набор данных, на который он подписан (если приложение поддерживает такой сценарий).

  • Marketplace управляет учетной записью пользователя и выставлением счетов.

См. раздел Реализация OAuth в приложении Marketplace.

Учитывая все вышесказанное, разумно задаться вопросом: "Почему кто-то вообще использует базовую аутентификацию HTTP?" На то есть две причины. 1) Код, необходимый для реализации базовой аутентификации HTTP, короче и проще, чем код, необходимый для реализации OAuth; и 2) если вы единственный пользователь приложения, вам не нужны гибкость и сложность протокола OAuth.

См. также

Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
Показ:
© 2015 Microsoft