使用Azure AD B2C的Blazor WASM调用Microsoft.Graph api失败



情况:

  1. 使用Azure AD B2C托管Blazor WASM
  2. 图形API寄存器

步骤1运行良好我可以登录并获得具有正确声明的访问令牌,这样我就可以调用我的后端API。

当我打开步骤2以添加GraphServiceClient时,所有操作都会停止,登录失败,并出现以下错误:There was an error trying to log you in: ''。我认为添加作用域https://graph.microsoft.com/User.Read会导致登录失败。我认为这是因为我的Azure AD B2C租户中的SPA应用程序注册中没有定义该范围,但我不知道如何添加该范围。在Api权限下,我无法添加该范围。

我是不是错过了什么?

我发现在使用Azure AD B2C进行身份验证时,无法直接从Blazor WASM使用Graph API。这仅对Azure AD启用。

为了解决这个问题,您必须在后端控制器中创建受保护的端点,并使用clientid+机密凭据从那里调用MSGraph API,然后将其发送回webassembly客户端。

出于性能原因和防止查询MSGraph API的额外开销,您可以考虑在自己的后端缓存用户。

最新更新