使用 Azure AD B2C 的 Blazor WASM 无法调用 Microsoft.Graph api
Blazor WASM using Azure AD B2C fails calling Microsoft.Graph 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 使用图 API。这仅适用于 Azure AD。
要解决此问题,您必须在后端控制器中创建受保护的端点,并使用 clientid+secret 凭据从那里调用 MS Graph API,并将它们发送回 webassembly 客户端。
出于性能原因并防止查询 MS Graph 的额外开销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 使用图 API。这仅适用于 Azure AD。
要解决此问题,您必须在后端控制器中创建受保护的端点,并使用 clientid+secret 凭据从那里调用 MS Graph API,并将它们发送回 webassembly 客户端。
出于性能原因并防止查询 MS Graph 的额外开销API,您可以考虑在您自己的后端缓存用户。