ASP.NET Core 2.0资源access_token

时间:2017-09-18 06:44:01

标签: c# asp.net-core-mvc azure-active-directory powerbi asp.net-core-2.0

如何为给定资源(ex / Power BI)获取 OpenIdConnectParameterNames.AccessToken

我在VS2017中创建了一个新的ASP.NET Core 2.0 MVC项目,该项目使用AAD进行身份验证。鉴于经过身份验证的用户,我需要获取资源 access_token ,以便我可以对所述资源进行web api调用。

就我的具体情况而言,我尝试访问Power BI内容,但这也适用于其他资源,例如graphQL。

到目前为止,我已经设法得到一个idtoken,但遗憾的是,它似乎无法对资源进行身份验证。我尝试在 null 中获取access_token结果。

1 个答案:

答案 0 :(得分:0)

您应该使用ADAL / MSAL在OpenID Connect OWIN中间件的OnAuthorizationCodeReceived事件中获取访问令牌。并确保已将OpenIdConnect选项的响应类型设置为“code id_token”以实现混合流。使用ADAL库,在AcquireTokenByAuthorizationCodeAsync函数中指定资源(场景中的PowerBi休息端点)。

请参阅文章:ASP.NET Core 2.0 Azure AD Authentication。@ juunas提供了本文中的解释和代码示例。