【发布时间】:2015-08-28 16:18:25
【问题描述】:
我正在构建一个示例 ASP.NET 5 (vNext) Web 应用程序,以通过 Power BI API 代表 PowerBI 用户执行操作。
我按照here 的所有步骤注册了我的应用程序,并且我拥有了 ClientId。 该应用已添加到我的 Azure Active Directory realavaloro.onmicrosoft.com
我的 Web 应用程序能够将用户重定向到权限 https://login.windows.net/common/oauth2/authorize/passing 作为查询参数 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 凭据进行身份验证,例如 joe@companyb.com,则无法使用错误请求消息进行身份验证:
AADSTS70001: Application with identifier 408c866f-ad71-4354-b9fd-c954cae84dd7 was not found in the directory companyb.com
我认为任何拥有 PowerBI 帐户的用户都可以通过我们的 Web 应用程序通过 API 使用他的 PowerBI 帐户,前提是我们的 Web 应用程序具有权限。
但如果我们希望通过这种方法实现这一点,每个用户都需要自己的 Azure Active Directory 来进行身份验证。
这里有什么我遗漏的吗?
是否有任何选项允许我们的应用程序代表任何 Power BI 用户执行操作?
谢谢!
PS:我按照https://github.com/PowerBI/getting-started-web-app-asp.net 的指南构建了我的测试 Web 应用程序
【问题讨论】:
标签: oauth-2.0 azure-active-directory powerbi