我有一个Web应用程序正在使用Power BI Web API在另一个应用程序中显示一些仪表板数据。我已经在GitHub上遵循了身份验证示例,并且可以对API进行身份验证和查询。
但是,所有示例都将返回的令牌存储在临时存储(例如会话)中,这意味着用户每次访问时(或应用程序池重新启动)都必须重新验证应用程序。
理想情况下,我想在设置时对Web应用进行身份验证(使用为应用设置的一组凭据),然后让网络应用继续使用相同的凭据,而无需网站用户必须再次重新登录Power BI(因为Web应用程序的许多用户没有直接的Power BI访问权限。)
这可能吗?如果是这样,我该怎么办呢?我能找到的所有示例都是这样的,每次访问API时都必须重新进行身份验证。我怀疑因为我不知道这里的正确术语(这是我第一次使用AAD服务和身份验证)我可能会遗漏一些明显的东西。
答案 0 :(得分:1)
要执行您想要的操作,您需要安全地存储刷新令牌。获取初始令牌的调用应返回accessToken(通常在1小时内到期)和可用于获取新accessToken的refreshToken。 refreshToken通常有效期为90天,因此您的访问权限不会无限期。有关如何执行此操作的MSDN文档: https://msdn.microsoft.com/en-us/library/ff752395.aspx