2015-08-28 56 views
0

我正在構建一個示例ASP.NET 5(vNext)Web應用程序,以通過Power BI API代表PowerBI用戶進行操作。授權Oauth2對PowerBI用戶的錯誤請求

我遵循所有步驟here註冊我的應用程序,我有ClientId。 該應用程序被添加到我的Azure中的Active Directory realavaloro.onmicrosoft.com

我的Web應用程序能夠將用戶重定向到權威https://login.windows.net/common/oauth2/authorize/傳球一樣查詢參數response_typeclientIdresourceredirect_uri

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

瀏覽器已正確重定向到Microsoft網頁,並且用戶輸入了他的Power BI憑據。如果通過身份驗證,它會被重定向到與代碼+ session_state

問題的REDIRECT_URI是,我不完全瞭解這種機制.. :)

如果用我PowerBI測試帳戶憑據(迭戈@realavaloro.onmicrosoft.com)認證是成功的,而瀏覽器的代碼正確重定向+ session_state

但是,如果我嘗試用其他PowerBI憑據進行身份驗證,例如[email protected]失敗與錯誤驗證請求消息: AADSTS70001: Application with identifier 408c866f-ad71-4354-b9fd-c954cae84dd7 was not found in the directory companyb.com

我認爲任何使用PowerBI帳戶的用戶都可以通過我們的網絡應用程序,通過API提供用戶的PowerBI帳戶,前提是我們的Web應用程序具有權限。

但是,看起來如果我們希望這種方法發生每個用戶都需要他們自己的Azure Active Directory來對進行身份驗證。

有什麼我在這裏失蹤?

是否有任何選項允許我們的應用程序代表任何Power BI用戶行事?

謝謝!

PS:我建立以下準則我的測試Web應用程序在https://github.com/PowerBI/getting-started-web-app-asp.net

回答

1

我會回答自己。我的Web應用程序無法使用其Power BI憑據驗證外部用戶的原因是(duh!),因爲我沒有在Azure AD中將我的Web應用程序配置爲多租戶

感謝這個偉大的演講https://channel9.msdn.com/Events/Ignite/2015/BRK3551我發現了一些很好的答案,包括多租戶:)的意義

我還是要調查Azure的庫來管理所有這些認證頭,對我和我的頭周圍的OAuth2但至少我現在可以說認證適用於外部用戶。

相關問題