【发布时间】:2021-06-26 15:23:07
【问题描述】:
我正在创建一个带有一些 API 的自定义 ASP.Net Corw 3.1 Web 应用程序,其中一个应该可以从 PowerBI 访问。 由于 PowerBI 应通过组织帐户使用,因此我想配置所有内容,以便用户可以使用该帐户。
在后端,我正在按照 Microsoft 文档中的定义设置 OpenIDConnect
services
.AddAuthentication("BasicAuthentication")
.AddScheme<AuthenticationSchemeOptions, BasicAuthenticationHandler>("BasicAuthentication", null)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
我相应地保护控制器:
[Authorize(AuthenticationSchemes = OpenIdConnectDefaults.AuthenticationScheme)]
[ApiController]
[Route("api/[controller]")]
[ApiExplorerSettings(IgnoreApi = true)]
public class SomeCOntroller : ControllerBase
在 Azure 应用注册时,我还在 Azure Active Directory 中定义了应用:
当我现在通过浏览器导航到 REST API 时,我会相应地重定向到组织登录名并且可以使用我的帐户,然后导航回 API。
检查 Azure 上的登录,我没有看到来自 PowerBI 的任何请求,只有来自 Web 的请求。我是在做一些根本错误的事情,还是 PowerBI 需要一些特定的逻辑?不幸的是,PowerBI 的错误表单没有涉及该主题的任何内容,并且由于通过 Web 进行访问,我猜设置也是正确的?
【问题讨论】:
-
下面的答案有帮助吗?
-
可能我误解了链接,但它没有解释任何关于授权/身份验证的内容?此外,通过标头传递令牌并没有太大意义,因为用户无法自己创建令牌。我不得不暂时回到基本身份验证。
标签: c# azure asp.net-core powerbi