Следуя документации , зарегистрировал приложение с учетными записями в любом организационном каталоге. Клиент, в котором находится приложение, находится в «Каталоге по умолчанию» и имеет только одного пользователя, [email protected]
. Кроме того, в приложении есть назначение пользователя (, как указано здесь), установленное на No
После этого создал другого арендатора (другой каталог) и пригласил внешнего пользователя [email protected]
. Это пользователь, у которого у меня возникают проблемы со входом в ранее созданное приложение.
Затем включите поддержку OAuth2 с помощью social_core.backends.azuread.AzureADOAuth2
( отсюда).
Когда я пытаюсь пройти аутентификацию сейчас, он хорошо работает с [email protected]
, но с [email protected]
выдает следующую ошибку
Выбранная учетная запись пользователя не существует в «Каталоге по умолчанию» арендатора и не может получить доступ к приложению «a9a22676-8a1c-4297-95d3-8cd89553220e» в этом арендаторе. Сначала необходимо добавить учетную запись в качестве внешнего пользователя в арендаторе. Пожалуйста, используйте другой аккаунт.
Проблема заключается в 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.
Изменение этого и вход в систему с тем же пользователем, и теперь я получаю запрос на добавление разрешений.