2015-08-28 3 views
0

Я создаю образец веб-приложения ASP.NET 5 (vNext), чтобы действовать от имени пользователей PowerBI через Power BI API.Авторизация Oauth2 плохой запрос для пользователя PowerBI

Я выполнил все шаги here, чтобы зарегистрировать мое приложение, и у меня есть ClientId. Приложение был добавлен в мой Azure Active Directory realavaloro.onmicrosoft.com

Мой веб-приложение может перенаправить пользователя на орган https://login.windows.net/common/oauth2/authorize/ Попутно в качестве параметров запроса в response_type, clientId, resource и redirect_uri

"response_type": "code" 
"resourceUri": "https://analysis.windows.net/powerbi/api", 
"clientId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 
"redirectUri": "http://localhost:59136/" 

Браузер правильно перенаправляется на страницу microsoft, и пользователь вводит учетные данные Power BI. Если проверка подлинности, он будет перенаправлен на redirect_uri с кодом + session_state

Проблема в том, что я не совсем понимаю этот механизм .. :)

Если я использую мои PowerBI учетные данные тестовой учетной записи (DIEGO @realavaloro.onmicrosoft.com) аутентификация успешна и браузер правильно перенаправляются с кодом + session_state

Но если я пытаюсь проверку подлинности с помощью других PowerBI полномочий, например [email protected] он не аутентифицировать с Bad Запрос сообщения: AADSTS70001: Application with identifier 408c866f-ad71-4354-b9fd-c954cae84dd7 was not found in the directory companyb.com

Я думал, что любой пользователь с учетной записью в PowerBI сможет через наш веб-приложение использовать свою учетную запись PowerBI через API, если у нашего веб-приложения есть разрешение.

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

Есть ли что-нибудь, что мне не хватает здесь?

Есть ли возможность разрешить нашей заявке действовать от имени пользователя ANY Power BI?

Спасибо!

PS: Я построил мой тестовый веб-приложение, следующие руководящие принципы в https://github.com/PowerBI/getting-started-web-app-asp.net

ответ

1

Я отвечу сам. Причина, по которой мое веб-приложение не смогло аутентифицировать внешних пользователей с их учетными данными Power BI, было (duh!), Потому что я не настроил свое веб-приложение в Azure AD как многопользовательский.

Благодаря этой большой презентацию https://channel9.msdn.com/Events/Ignite/2015/BRK3551 я нашел несколько хороших ответов, в том числе смысла мульти-арендатор :)

я до сих пор исследовать Azure библиотеки управлять всеми этими заголовками аутентификации для меня и получить мою голову вокруг OAuth2 но, по крайней мере, я могу сказать, что аутентификация работает для внешних пользователей.

Смежные вопросы