Назад | Перейти на главную страницу

Вход в приложение Microsoft Graph с другим клиентом невозможен

Я создал приложение с Microsoft Портал регистрации приложений.

Я могу использовать это приложение с пользователем в клиенте Azure AD, который создал это приложение. Клиент Azure AD связан с подпиской на Office 365 бизнес.

Если я попытаюсь использовать это приложение с пользователем, который принадлежит к тенату life.com, сразу после экрана входа в Microsoft появится сообщение об ошибке:

Сообщение: AADSTS50020: учетная запись пользователя «xyz@outlook.com» от поставщика удостоверений «live.com» не существует в клиенте «My-Tenant» и не может получить доступ к приложению «asdf-asd-1234-asd-12341234» в этом клиенте . Сначала необходимо добавить учетную запись в качестве внешнего пользователя в арендаторе. Выйдите из системы и войдите снова, используя другую учетную запись пользователя Azure Active Directory.

Согласно манифесту приложения другим арендаторам разрешено:

"tags": [
    "NoLiveSdkSupport",
    "appModelVersion:2",
    "accessTokenVersion:1",
    "availableToOtherTenants:true",
    "supportsConvergence:true",
    "emailAddress:feedback@modlize.com"
],

Как зарегистрировать приложение, которым могут пользоваться пользователи из всех клиентов Microsoft?

Есть несколько способов исправить это:

  • Как кто-то сказал ранее, вам нужно добавить внешнего пользователя в качестве члена вашего клиента
  • В случае гостевых учетных записей при входе в систему вы не сможете использовать login.microsoftonline.com/common. Common следует заменить доменом клиента, для которого вы хотите выполнить аутентификацию. Это может помочь с вашей проблемой (хотя я не уверен на 100%)
  • Было непонятно, какова ваша конечная цель, но если вы намереваетесь, что это будет приложение SaaS, вам необходимо включить мультитенантный доступ при регистрации приложения.

Мультитенантное приложение не означает, что вы можете использовать любую учетную запись Microsoft для входа в приложение. Также необходимо, чтобы учетная запись Microsoft существовала в арендаторе и давала согласие на использование приложения, приложение будет автоматически создано в арендаторе.

Для вашего сценария я думаю Azure AD B2C может быть лучше для вас. В Azure AD B2C вы можете использовать MSA в качестве IDP и создать для него политику регистрации и входа. Чтобы вы могли позволить любому MSA получить доступ к вашему Applicaiton.

Пожалуйста, дайте мне знать, если это поможет!