Аутентификация с помощью Microsoft Azure AD в многопользовательском приложении

Следуя документации, зарегистрировал приложение с аккаунтами в любом организационном каталоге. Арендатор, в котором находится приложение, находится в "Default Directory" и имеет только одного пользователя tiagomartinsperes@gmail.com. Также, приложение имеет назначение пользователей ( как указано здесь), установленное на No

enter image description here

После этого создал другого Tenant (другой каталог) и пригласил внешнего пользователя me@tiagoperes.eu. Именно с этим пользователем у меня возникают проблемы при входе в ранее созданное приложение.

Затем, включите поддержку OAuth2 с помощью social_core.backends.azuread.AzureADOAuth2 ( отсюда).

Как я пытаюсь аутентифицироваться сейчас, это работает хорошо с tiagomartinsperes@gmail.com, но с me@tiagoperes.eu выдает следующую ошибку

Выбранная учетная запись пользователя не существует в арендаторе 'Default Directory' и не может получить доступ к приложению 'a9a22676-8a1c-4297-95d3-8cd89553220e' в этом арендаторе. Сначала необходимо добавить учетную запись в качестве внешнего пользователя в арендаторе. Пожалуйста, используйте другую учетную запись.

Microsoft Auth Error

Проблема заключается в URL, на который перенаправляется пользователь. Согласно документации , многопользовательские приложения должны перенаправлять на https://login.microsoftonline.com/organizations.

Как мы видим в классе Python Social Auth AzureADOAuth2, BASE_URL это

BASE_URL = "https://{authority_host}/{tenant_id}"

Поскольку authority_host = "https://login.microsoftonline.com/" и tenant_id="common", мы получим неправильный url.

Изменив это и войдя под тем же пользователем, теперь я получаю запрос на добавление разрешений

enter image description here

Сообщил об этой проблеме и здесь.

Вернуться на верх