2017-01-25 7 views
3

Я новичок как в Azure ActiveDirectory, так и в Power Bi Embedded.Получение 403 Запрещено при аутентификации без взаимодействия с Azure REST API для встроенного отчета PowerBi

У меня есть приложение ASP.net WebForms, в котором я хотел бы отображать некоторые отчеты PowerBi. Когда я аутентифицируюсь в интерактивном режиме, все работает хорошо, я получаю свой токен и могу получить доступ к моему отчету. (Follwing отличные примеры найдены on GitHub). Эти примеры являются интерактивными входами и используют метод AcquireTokenByAuthorizationCode().

Тем не менее, я не хочу, чтобы мои пользователи должны были создавать/входить в систему с любой учетной записью, просто хотите отобразить отчет для их потребления.

Итак, у меня есть настройка ClientCredential (cc) с моим идентификатором clientID и clientSecret. Я использую это с помощью метода AquireToken Thusly:

token = AC.AcquireToken("https://analysis.windows.net/powerbi/api",cc).AccessToken; 

Это успешно получает мне знак, однако, когда я добавить, что в заголовке запроса:

request.Headers.Add("Authorization", String.Format("Bearer {0}", accessToken.Value)); 

Отклик всегда терпит неудачу с «403 Forbidden "ошибка по адрес:

using (var response = request.GetResponse() as System.Net.HttpWebResponse) 
    {} 

Я посмотрел на других примерах, многие используют методы асинхронных для aquire токена, который я не.

Может ли кто-нибудь посоветовать, как я могу преодолеть эти ошибки 403, чтобы я мог просто обслуживать отчеты для своих пользователей (я не хочу публиковать их публично из-за проблем с безопасностью).

Благодарим вас заблаговременно!

+0

Спасибо за быстрый ответ. Мы добавили отчеты и наборы данных в рабочее пространство нашей компании, используя Power BI в Интернете. Я не уверен, как получить ключи доступа для использования в приложении. Их нужно спасать в Лазуре, но я не знаю, где. – user7524598

+0

Возможно, вы не закончили создание вашей коллекции PowerBi Workspace Collection в Azure. Как только это будет создано, в настройках вашей рабочей области. Внизу вы увидите раздел под названием «Ключи доступа» (держите их в секрете). Наряду с этим мне понадобилось имя коллекции Workspace, WorkspaceID, чтобы получить маркер внедрения. Этот токен, в сочетании с встраиваемым надписью, который вы получаете из своего отчета, должен быть всем, что вам нужно, чтобы вставить свой отчет в свое приложение. Следуя 3 ссылкам, которые я размещал ниже, вы должны попасть туда, где хотите. – Silmar

ответ

2

Doh, я делал это неправильно! Azure Login не обязательно требуется для надежного встраивания отчетов. Третья ссылка включена, потому что мое приложение не MVC, а WebForms, и г-н Миками поделился хорошим примером кода, который я настроил, чтобы помочь мне достичь своей цели.

Для всех, кто хочет использовать Power Bi Встроенный для встраивания отчетов и аутентификации неинтерактивно, эти 3 ссылки помогли мне.