Я использую MSAL Preview для iOS, и этот быстрый пример .
Основываясь на документации здесь , я должен бытьиспользуя потребителей , а не общие , чтобы принудительно использовать его только для личных учетных записей.
В функции ViewDidLoad
self.applicationContext = try MSALPublicClientApplication.init(clientId: kClientID, authority: kAuthority)
ИзменениеkAuthority to
https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize
Следует заблокировать его только для учетных записей потребителей.
Но, похоже, выдается ошибка " Это не похоже на рабочую или учебную электронную почту. Выздесь нельзя войти в личный аккаунт. Вместо этого используйте свою рабочую или школьную учетную запись."Для этого пользователя kAuthority это работает, если я ввожу учетную запись org.
Если я изменю на
https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize
Позволяет разрешить вход в систему, но не для учетной записи потребителя.
Обе функции работают, если я возвращаю значение примера кода по умолчанию
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
Я заметил, что если я нажму это вбраузер
https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize?client_id=##clientid##&response_type=code&redirect_uri=http%3A%2F%2Flocalhost&response_mode=query&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fmail.read&state=12345
это нормально работает в браузере.Так что я не думаю, что это проблема конфигурации приложения.разве это не связано с нативным или веб-вызовом?
Я заметил в последнем примере , kAuthority был сокращен.
let kAuthority = "https://login.microsoftonline.com/common/"
Пробовал и неизменить ситуацию.