您可以在没有用户名和密码的情况下静默获取PowerBI的授权吗?



在PowerBI上搜索了一天又几个小时,并阅读了PowerBI webapp的示例后,我遇到了一个问题,什么是改变下面代码的最佳方法

            var tokenCache = new TokenCache();
            var authContext = new AuthenticationContext(authorityUri, tokenCache);
            var token = authContext.AcquireToken(resourceUri, clientId, new Uri(redirectUri)).AccessToken;

获取访问令牌Sliently用于power Bi rest API。我知道有一个AcquireTokenSlientAsync,但当我注册我的应用程序作为WebApp包括clientdid和clientSecret它给我一个403错误。

目前,我的web应用程序在开发powerbi上注册为NativeApp,并在每个请求上获得令牌。但是每次都有一个弹出窗口。

因为我使用访问令牌在网页上嵌入各种报告,如果有人能告诉我如何在不使用用户名和密码的情况下悄悄地获得令牌,那就太好了。

我试过使用var token = authContext.AcquireTokenSlientAsync(resourceUri, clientCredential);

根据您的评论,您可以做的是使用在初始身份验证中获得的"refresh"令牌。这个初始令牌应该包含一个刷新令牌,有了刷新令牌,你可以使用"AcquireTokenByRefreshToken"方法,并传入你需要访问令牌的新资源(power bi api)。

<>之前authContext = new AuthenticationContext(Authority, new AdalTokenCache(claim.Value));var refresh_token = authContext.TokenCache.ReadItems().FirstOrDefault().RefreshToken;ClientCredential = new ClientCredential(clientId, appKey);var resp = authContext。AcquireTokenByRefreshToken(refresh_token,凭据,"https://analysis.windows.net/powerbi/api");之前

相关内容

最新更新