powerbi - 使用 MSAL 获取访问 token 并将其缓存在 SQL DB 中,而无需使用 MSAL 登录

标签 powerbi asp.net-core-webapi msal microsoft-identity-platform

我想使用应用程序 ID 和 secret 对 AAD 用户进行身份验证,以通过 MSAL 访问 powerBi 资源。所以我想获取访问 token 并将其缓存在 SQL Db 中。

经历了 documentation但它解释了使用 MSAL 进行登录的场景。 还经历了tutorial 我能够执行必要的实现来获取 token 。

在这种情况下,我如何获取访问 token 并缓存它?

最佳答案

如其他答案所示,当您有用户登录时,缓存 token 很有用,因为一旦访问 token 过期(通常在 1 小时后),您不希望继续提示用户重新进行身份验证。 因此,为了帮助解决这些情况,Azure AD 发出一个 refresh token along with an access token that is used to fetch access tokens once they expire .需要缓存来缓存这些刷新 token ,因为它们的有效期为 90 天。

当应用以自身身份登录(而不是登录用户)时,client credentials flow被使用,它只需要应用程序 ID (clientId) 和凭据( secret /证书)来颁发访问 token 。 MSAL 库将自动检测访问 token 何时过期,并将使用 clientId/凭据组合自动获取新的访问 token 。所以不需要缓存。

您应该查看的示例是 this一个。

关于powerbi - 使用 MSAL 获取访问 token 并将其缓存在 SQL DB 中,而无需使用 MSAL 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57888472/

相关文章:

r - 使用 R 脚本视觉创建 data.frame 时,如何阻止 Power BI 删除重复项?

powerbi - 如何通过 DAX 指标捕获切片器值(value)

c# - 如何使用 Angular 取消 .Net Core Web API 请求?

azure-active-directory - 为什么下拉应用程序在运行用户流程中显示为灰色?

powerbi - 如何在 Power BI DataConnector 中存储凭据?

javascript - 从在线 Power BI 仪表板中抓取数据

c# - 当 Controller 位于另一个项目中时,Get 方法不返回值

asp.net-core - 如何在 Asp.net Core Web API 中为消息包内容类型启用 LZ4 压缩

.net-core - 使用 Azure AD v2.0 通过适用于 .NET 的 Azure 管理库进行身份验证

angular - 使用 msal.js 对 Angular SPA 进行身份验证