我有类似的情况,例如为我们的 API 服务器获取授权代码或刷新令牌:
我们已经分离了注册用户,这些用户在我们的 SPA 和后端服务之间进行了身份验证。
现在我需要允许后端服务通过 Microsoft Graph 从他的企业帐户中读取用户的电子邮件。
所以我的猜测是让用户通过 SPA 中的 msal.js 同意这一点,并将身份验证信息发送回我们的后端服务(例如刷新令牌)。然后使用令牌代表业务帐户调用 MsGraph-Api。
问题出在后端服务中,该用户已经被认证为我们的用户(而不是企业帐户)。所以我不能使用任何 Microsoft.Identity.Web 事物,因为它们基于令牌缓存。此令牌缓存要么由 Microsoft.Identity.Web 事物使用 HttpContext 填充,要么通过从 db 读取缓存(例如 AddDistributedSqlServerCache)来填充
我找不到一种方法来使用来自业务帐户的身份验证信息以包含在缓存中(这也会让我刷新令牌)或找到一种简单的方法来告诉 msal.net 我有完整的用户信息可以使用.