2016-06-08 1 views
0

Я работаю над приложением, которое позволит пользователям проходить аутентификацию в Azure Active Directory, а затем управлять ресурсами в своей учетной записи Azure через вызовы API Azure Resource Manager.Как я могу программно получить доменное имя Azure Active Directory в данной подписке?

Я нашел несколько пошаговых руководств по созданию такого приложения, включая этот post. Однако в части, которая обсуждает аутентификацию с Azure Active Directory, есть шаг, указывающий на необходимость вручную получить имя Azure Active Directory с Azure Portal.

Имя каталога подключен к настройкам приложения (и в конечном счете аутентификации вызовов в каталог) следующим образом

http://login.microsoftonline.com/ {directory_domain_name}/OAuth2/Авторизоваться

Есть ли способ программно получить {directory_domain_name}, не требуя от пользователей входа в систему и поиска информации на Azure Portal?

Один ответ на this question имеет мертвую ссылку, а другой указывает на API-интерфейс Graph, которому, похоже, по-прежнему требуется имя домена.

ответ

1

Для вашего конкретного сценария, похоже, вы хотите создать приложение, которое будет пользователем от разных арендаторов Azure AD. Этот сценарий лучше всего решать путем создания приложения с несколькими арендаторами.

Чтобы сделать ваше приложение многопользовательским, вам нужно перейти на портал Azure и на вкладке «Конфигурация» вашего приложения Azure AD установить опцию «Приложение для нескольких арендаторов» на «Да».

После того, как вы сделаете это, вы можете просто позвонить

http://login.microsoftonline.com/common/oauth/authorize 
http://login.microsoftonline.com/common/oauth/token 

И Azure AD рассосется фигуру из которой жилец для проверки подлинности на основе учетных данных, которые пользователь вводит в.

Больше информации на многопользовательских приложений: https://azure.microsoft.com/en-us/documentation/articles/guidance-multitenant-identity-authenticate/

Пример приложения многопользовательских: https://github.com/Azure-Samples/active-directory-dotnet-webapp-multitenant-openidconnect

+0

Чтобы быть ясно, что это это приложение, которое будет распространено, чтобы пользователи могли установить их на свою собственную учетную запись Azure по своему усмотрению. Другими словами, там нет централизованной версии приложения. Точно так же, многопользовательский вариант может по-прежнему работать. Если я разрешаю аутентификацию с несколькими арендаторами, это вообще влияет на сторону авторизации? Пользователю из другого каталога все равно должна быть предоставлена ​​какая-то роль Azure в каталоге, в котором установлено приложение для управления ресурсами там, правильно? –

+0

Чтобы любое приложение могло интегрироваться с Azure AD, его необходимо зарегистрировать где-нибудь. Где вы его зарегистрировали? Если это был файл apps.dev.microsoft.com, то он зарегистрирован у арендатора по умолчанию и настроен как мульти-арендатор по умолчанию. Если он был зарегистрирован на портале Azure, он будет частью любого арендатора Azure AD, в который вы его зарегистрировали. – Saca

+0

Что касается влияния на авторизацию, ничего, кроме необходимости использования/common вместо/domainName. – Saca

Смежные вопросы