【问题标题】:Authorization Oauth2 bad request for PowerBI userPowerBI用户的授权Oauth2错误请求
【发布时间】: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_typeclientIdresourceredirect_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


    【解决方案1】:

    我会自己回答。我的 Web 应用程序无法使用他们的 Power BI 凭据对外部用户进行身份验证的原因是(呃!)因为我没有在 Azure AD 中将我的 Web 应用程序配置为多租户

    感谢https://channel9.msdn.com/Events/Ignite/2015/BRK3551 的精彩演示,我找到了一些很好的答案,包括多租户的含义:)

    我仍然需要调查 Azure 库来为我管理所有这些身份验证标头并了解 OAuth2,但至少我现在可以说身份验证适用于外部用户。

    【讨论】:

      猜你喜欢
      • 2019-01-21
      • 2018-05-02
      • 2017-06-04
      • 2020-03-27
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 2020-05-11
      • 2022-11-14
      相关资源
      最近更新 更多