Использование Windows Azure Active Directory для общедоступных пользователей

Насколько я понимаю, WAAD предназначен для внутренних учетных записей организации. Я понимаю концепции, лежащие в основе ADFS и других тем, связанных с «AD в облаке». Но действительно ли что-то мешает использовать WAAD для публичных аккаунтов?

Я хочу создать общедоступный веб-сайт с использованием ASP.Net MVC. Я буду использовать WIF для реализации проверки подлинности утверждений и планирую использовать ACS в качестве поставщика федерации утверждений. Я хочу разрешить конечным пользователям входить в систему, используя учетные записи социальных сетей (из коробки с ACS). Но я также хочу разрешить пользователям регистрировать свои собственные имена пользователей и пароли для моего веб-сайта. Могу ли я использовать WAAD для этой части?

Конечно, я мог бы создать свою собственную STS. Или я мог бы использовать Thinktecture IdentityServer для этой цели. Но есть несколько явных преимуществ использования WAAD:

  • простота (настройка WAAD как STS для ACS занимает всего несколько кликов)
  • производительность, безопасность и надежность, гарантированные соглашениями об уровне обслуживания Azure

Есть ли недостатки в этом подходе?


person stanoislav    schedule 17.04.2013    source источник


Ответы (2)


Вы, конечно, можете использовать WAAD для создания учетных записей пользователей. Вы также, конечно, должны заставить пользователей использовать логин в стиле электронной почты.

Однако есть один (на мой взгляд, БОЛЬШОЙ) недостаток WAAD по сравнению с ThinkTecture Identity Server: WAAD не имеет процедуры регистрации пользователя/управления паролями/сброса пароля.


ОБНОВЛЕНИЕ (29.07.2014)

Сегодня WAAD предоставляет возможность самостоятельного сброса пароля в рамках Премиум-функций. Однако до сих пор нет самообслуживания-регистрации пользователей. Честно говоря, я не ожидаю когда-либо увидеть самостоятельную регистрацию пользователей, поскольку WAAD нацелен на предприятия, а не на ваш конкретный сценарий.


Чтобы реализовать упомянутый поток в WAAD, вам необходимо с нуля разработать собственное приложение MVC, которое использует Graph API для всех упомянутых сценариев.

С другой стороны, у вас есть Identity Server с тысячами загрузок, разработанный гуру в области утверждений на основе аутентификации и безопасности. Сервер идентификации имеет очень богатую и простую в использовании расширяемую структуру. Хотя он также не обеспечивает регистрацию пользователей и сброс пароля из коробки, это уже приложение MVC 4 с очень богатыми точками расширения.

Настроить сервер идентификации для запуска в Azure также очень просто. А настроить Identity Server в качестве поставщика удостоверений в Azure ACS можно всего за пару кликов на портале управления.

Вы говорите, что WAAD поддерживается SLA, обладает высокой доступностью и т. д. Но ваше развертывание Identity Server в облачной службе также будет поддерживаться SLA, если вы используете как минимум 2 экземпляра веб-роли.

Если мне нужно будет выбрать, расширить ли Identity Server для поддержки регистрации пользователей и т. д., или создать с нуля совершенно новое приложение, использующее WAAD GRAph API для этой функции, я бы использовал Identity Server.

person astaykov    schedule 17.04.2013
comment
это все еще условие IdentityServer v2 (например, отсутствие регистрации, pwd mgmt, сброс)? Как бы я сделал эти вещи? Как насчет использования MembershipReboot в сочетании с IdentityServer v2? Возможно ли это, и если да, то как? - person Thiago Silva; 26.03.2014
comment
Привет, @astaykov, какие-нибудь изменения в AD для регистрации внешних учетных записей? Спасибо вам, ребята. - person qjuanp; 05.05.2015
comment
регистрация пользователя - нет. самостоятельный сброс пароля - да. федерация с внешними поставщиками удостоверений - нет. - person astaykov; 07.05.2015

По состоянию на сентябрь этого года доступна предварительная версия Azure B2C. Это должно соответствовать сценарию самостоятельной регистрации пользователей и различных поставщиков удостоверений (Facebook, Google, Microsoft...). Все они обслуживаются из AzureAD. Azure AD b2c

Также доступен полный образец MVC Пример Azure AD b2c MVC

person markwilde    schedule 21.12.2015
comment
Привет! Azure AD B2C — это прекрасно, но его нельзя использовать для приложений типа SPA/Angular docs.microsoft.com/en-us/azure/active-directory-b2c/ , однако Identityserver v3 поддерживает его cedric-dumont.com/tutorials/ - person Karan Bhandari; 07.12.2016
comment
@KaranBhandari Почему я не могу использовать SPA/Angular с AD B2C? Я не нашел явной записи об этом в FAQ. Спасибо. - person Reuel Ribeiro; 06.04.2017
comment
Если у вас есть возможность, используйте аутентификацию на стороне сервера, а не реализацию Angular. Мы некоторое время использовали библиотеку adal-angular, и это оказалось сложной задачей. Токен носителя очень ограничен, и с каждым обновлением библиотеки появляются и устраняются ошибки/проблемы. - person markwilde; 12.04.2017
comment
@Reuel Ramos Ribeiro Azure B2C может работать из приложений SPA/Angular при условии, что они обслуживаются Nodejs/.NET MVC/WebAPI, поскольку SPA сами по себе не могут защитить секрет, такой как идентификатор клиента, кроме того, упомянутые выше серверные части поддерживают промежуточное программное обеспечение OpenID Connect. Прямо сейчас отключен даже пользовательский интерфейс javascript валидация как у нас" rel="nofollow noreferrer">feedback.azure.com/forums/169401-azure-active-directory/ - person Karan Bhandari; 16.04.2017