Я не очень разбираюсь в MSAL по сравнению с ADAL, но считаю, что одним из отличий является конечная точка Azure. Теперь он изменен на версию 2. В соответствии с рекомендацией Microsoft при аутентификации пользователей с помощью Azure AD предлагается использовать неявный поток oauth 2.0. Больше информации можно найти здесь .
Ваши шаги по приобретению токена для Microsoft Graph требуют немного времени на настройку.
Вы должны зарегистрировать и свой интерфейс, и API в регистрации приложения Azure.
В интерфейсном приложении вы включаете неявный поток, вы даете ему некоторые разрешения для взаимодействия с графиком API. Это необходимо для того, чтобы использовать существующий токен для приобретения другого токена для Microsoft Graph. (И вы можете сделать то же самое для любых других API, например, CRM API, Sharepoint API)
После того, как вы настроили это, все, что вам нужно сделать, это сделать еще один пост-запрос (вы должны включить токен JWT, который вы получили ранее в заголовке запроса) на https://graph.microsoft.com, чтобы получить токен. В зависимости от того, как вы предоставляете разрешения для внешнего интерфейса, токен может использоваться в рамках заданной области, заданной вами при регистрации приложения.
Возможно, вам интересно, зачем использовать неявный поток? Это связано с тем, что каждый раз, когда ваше интерфейсное приложение отправляет запросы к внутреннему API, токен JWT, который вы получили при входе в систему, можно использовать для аутентификации на вашем API. Таким образом, только ваш интерфейс может совершать вызовы к API.