ASP.NET 核心 2.0 资源 access_token
ASP.NET Core 2.0 resource access_token
如何为给定资源(ex/Power BI)获取 OpenIdConnectParameterNames.AccessToken?
我在 VS2017 中创建了一个新的 ASP.NET Core 2.0 MVC 项目,该项目使用 AAD 进行身份验证。给定一个经过身份验证的用户,我需要获取资源 access_token 以便我可以对所述资源进行网络 api 调用。
对于我的具体情况,我正在尝试访问 Power BI 内容,但这也适用于其他资源,例如 graphQL。
到目前为止,我已经设法获得了一个 idtoken,遗憾的是它似乎无法针对资源进行身份验证。我尝试获取 access_token 结果是 null.
您应该使用 ADAL/MSAL 在 OpenID Connect OWIN 中间件的 OnAuthorizationCodeReceived
事件中获取访问令牌。并确保您已将 OpenIdConnect 选项的响应类型设置为 "code id_token" 以实现混合流。使用 ADAL 库,在 AcquireTokenByAuthorizationCodeAsync
函数中指定资源(您场景中的 PowerBi 休息端点)。
请参考文章:ASP.NET Core 2.0 Azure AD Authentication @juunas 提供了本文中的解释和代码示例。
如何为给定资源(ex/Power BI)获取 OpenIdConnectParameterNames.AccessToken?
我在 VS2017 中创建了一个新的 ASP.NET Core 2.0 MVC 项目,该项目使用 AAD 进行身份验证。给定一个经过身份验证的用户,我需要获取资源 access_token 以便我可以对所述资源进行网络 api 调用。
对于我的具体情况,我正在尝试访问 Power BI 内容,但这也适用于其他资源,例如 graphQL。
到目前为止,我已经设法获得了一个 idtoken,遗憾的是它似乎无法针对资源进行身份验证。我尝试获取 access_token 结果是 null.
您应该使用 ADAL/MSAL 在 OpenID Connect OWIN 中间件的 OnAuthorizationCodeReceived
事件中获取访问令牌。并确保您已将 OpenIdConnect 选项的响应类型设置为 "code id_token" 以实现混合流。使用 ADAL 库,在 AcquireTokenByAuthorizationCodeAsync
函数中指定资源(您场景中的 PowerBi 休息端点)。
请参考文章:ASP.NET Core 2.0 Azure AD Authentication @juunas 提供了本文中的解释和代码示例。