Сценарий, который вы ищете, называется инкрементное согласие . Это полностью выполнимо с MSAL. Кстати, было бы здорово узнать, какую платформу вы разрабатываете.
Что вы можете сделать, это запросить токен доступа для user.read
и ожидать, что MsalUiRequiredException
будет выброшено. В этом улове вы делаете интерактивный звонок с user.read
в качестве области. При таком подходе вы будете реализовывать пошаговое согласие . Обратите внимание, что user_impersonation
все еще будет доступен для использования после этого, и ваш кэш токенов теперь будет иметь обе области действия.