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