Как подключиться к конечной точке Power BI XMLA из веб-приложения? - PullRequest
0 голосов
/ 13 февраля 2020

Мне нужно подключиться к конечной точке Power BI XMLA из веб-приложения, я использую библиотеку Adomd. Net AdomdClient.

Обычно, если вы вызываете AdomdConnection.Open() из клиентского приложения, то Пользовательский интерфейс, чтобы позволить пользователю войти в систему. Я считаю, что поставщик MSOLAP делает это. Очевидно, что это не сработает для веб-приложения, так как на сервере появится всплывающее окно.

Если я попытаюсь вызвать Open() из веб-приложения или консоли, я получу исключение: Аутентификация Ошибка: идентификатор пользователя и пароль требуются, когда пользовательский интерфейс недоступен. Достаточно справедливо!

Это должно разрешить MFA, поэтому, к сожалению, я не могу просто ввести имя / пароль в строку подключения. Если я пытаюсь это сделать, я получаю исключение, говорящее Невозможно получить токен аутентификации, используя предоставленные учетные данные. Если администратор клиента Active Directory настроил многофакторную аутентификацию или если ваша учетная запись является учетной записью Microsoft, удалите имя пользователя и пароль из строки подключения, а затем повторите попытку. Затем вам нужно будет ввести свои учетные данные.

Я бы хотел, но, поскольку я не являюсь клиентским приложением, это не сработает.

Я подумал Возможно, я смогу зарегистрировать приложение на Azure и предоставить ему делегированные разрешения на чтение для модели / данных пользователей, но, похоже, такого разрешения нет.

Мой план состоял в том, чтобы пользователь входит в систему, отправив их на https://login.windows.net/common/oauth2/v2.0/authorize, и после перенаправления ко мне я могу добавить: "Password=" + securityToken к строке подключения.

Я сделал это для Azure SSAS, и он работает нормально, но поскольку нет области действия Model.ReadWrite.All, я не думаю, что это возможно.

Кто-нибудь знает, как это можно сделать?

...