Как подключить несколько учетных записей Azure Active Directory к вашему приложению? - PullRequest
2 голосов
/ 28 марта 2019

Мне нужно войти в приложение NodeJS, используя несколько Azure AD, и получить данные о пользователе.Я не уверен, как этого добиться?

В настоящее время наше приложение взаимодействует с приложением, связанным с одним Azure AD.Обычные пользователи из новой Azure AD не могут войти в нашу систему с использованием учетных данных Office365, поскольку Office365 не позволяет нашему приложению получать доступ к профилю пользователей, связанному с новой Azure AD.Но пользователи нового Azure AD с ролью глобальных администраторов могут войти в наше приложение.Когда обычные пользователи пытаются войти в наше приложение, отображается следующее сообщение

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

Можно ли подключиться к нескольким Azure AD, используя одно и то же приложение?И как этого добиться?Пожалуйста, добавьте ссылки и скриншоты.

Ответы [ 2 ]

2 голосов
/ 29 марта 2019

Люди, которые могут столкнуться с подобной проблемой с Azure AD в будущем.

В настройках приложения, которое вы создаете в Azure AD, вы можете сделать его мультитенантным, а также указать тип ресурсов / данных, к которым ваше приложение должно обращаться. Существует два типа ресурсов / данных / действий, к которым вы обращаетесь, для одного вам требуется роль администратора, а для другого - нет.

Если вы пытаетесь получить доступ к данным, связанным

Для создания мультитенанта:

Azure AD > App Registeration > Your App > Settings > Properties 

Чтобы обновить разрешения:

Azure AD > App Registeration > Your App > Settings > Required Permissions (Update them here)
0 голосов
/ 28 марта 2019

Как вы делаете это для одного пула соединений AD? Вот псевдокод для опроса нескольких AD и выполнения функций, таких как authenticate

var ActiveDirectory = require('activedirectory');

var config_domain_1 = { url: 'ldap://dc.domain.com',
               baseDN: 'dc=domain,dc=com',
               username: 'username@domain.com',
               password: 'password' }

var config_domain_2 = { url: 'ldap://dc.domain.com',
               baseDN: 'dc=domain,dc=com',
               username: 'username@domain.com',
               password: 'password' }

var config_domain_2 = { url: 'ldap://dc.domain.com',
               baseDN: 'dc=domain,dc=com',
               username: 'username@domain.com',
               password: 'password' }

var ad_domain_1 = new ActiveDirectory(config_domain_1);
var ad_domain_2 = new ActiveDirectory(config_domain_2);
var ad_domain_3 = new ActiveDirectory(config_domain_3);

ad_domain_1.authenticate(username, password, function(err, auth) {...}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...