Android / iOS: как использовать существующую учетную запись Microsoft при использовании MSAL

При использовании библиотеки MSAL для аутентификации приложение перенаправляет пользователя на веб-страницу, где он должен войти в систему с учетной записью Microsoft. Если у пользователя уже установлен Outlook или какое-либо другое приложение, есть ли способ получить эту информацию для входа, например, как это делает приложение FB?


person Prasanth    schedule 23.05.2020    source источник


Ответы (2)


MSAL лучше всего работает на iOS, если пользователь установил и настроил приложение Microsoft Authenticator. MSAL запустит это приложение вместо веб-браузера, и пользователь может просто коснуться своей учетной записи для входа в систему.

Если устройством управляет MDM, вы можете [включить корпоративный компонент SSO> (https://github.com/AzureAD/microsoft-authentication-library-for-objc#microsoft-enterprise-sso-plug-in-for-apple-devices), чтобы еще больше упростить процесс входа в систему.

Без приложения Authenticator ваше приложение не сможет получить какие-либо данные аутентификации существующей учетной записи.

person Paulw11    schedule 23.05.2020
comment
Я знаю, как работает приложение-аутентификатор. Но это все еще добавляет шаг, на котором вам нужно ввести код аутентификатора для входа в систему. В идеале я хочу, чтобы у моего приложения был непрерывный поток, как в большинстве приложений при входе в систему с помощью fb. - person Prasanth; 23.05.2020
comment
Единственный способ получить беспрепятственный поток - реализовать расширение SSO через MDM, в противном случае приложение не сможет получить данные аутентификации извне песочницы. - person Paulw11; 23.05.2020
comment
Пока не нашел ничего подходящего, поэтому принимаю ваш как ответ. - person Prasanth; 25.05.2020
comment
Может ли общедоступное приложение работать с MDM? то есть приложение при входе в систему из личной учетной записи Майкрософт будет вводить имя пользователя и пароль типа пользователя и одно и то же приложение, когда оно используется пользователем, чье устройство зарегистрировано в его собственной компании. MDM будет автоматически входить в систему. Это возможно? - person Prasanth; 26.05.2020
comment
да. Компонент sso в Microsoft Authenticator включен политикой распространения MDM. Без этой политики расширение sso не включено. - person Paulw11; 26.05.2020
comment
Я просто сделал это, выполнил единый вход и попытался получить доступ к календарю пользователей с помощью графического API и получил исключение OrganizationFromTenantGuidNotFound. - person Prasanth; 27.05.2020
comment
Вы использовали конечную точку смеха для конкретного арендатора? stackoverflow.com/questions/53566481/ в качестве альтернативы вы можете попробовать сделать свое приложение кросс-тенантным приложением на лазурном портале. - person Paulw11; 27.05.2020
comment
Проблема заключалась в том, что выпущенный Godaddy Office 365 и MDM имели некоторые проблемы. Мы создали новую подписку на Office 365 напрямую с Microsoft и ее работоспособностью. Спасибо за помощь - person Prasanth; 29.05.2020

Просто мысль, но:

  • Сообщения Azure AD в основном основаны на стандартах, поэтому вам не нужно использовать библиотеки MSAL.
  • Вы можете получить лучшее мобильное решение с библиотеками AppAuth

Вместо веб-страницы вы можете использовать решения для браузера в приложении, которые кажутся интегрированными и имеют несколько хороших функций UX:

  • Пользовательские вкладки Chrome на Android
  • ASWebAuthenticationSession на iOS

Если что-то из этого полезно, вот несколько моих ссылок, включая примеры кода, которые вы можете запустить:

person Gary Archer    schedule 23.05.2020
comment
Проблема не только в переходе в окно браузера. В Google и FB вы можете просто выбрать существующую учетную запись и не требовать от пользователя повторного ввода адреса электронной почты и пароля. Что добавляет много пользовательского опыта. - person Prasanth; 25.05.2020