在开发现代Web应用时,Blazor结合ASP.NET Web API和GraphQL的架构设计非常流行。本文将探讨如何在Blazor .NET 8 WebAssembly (WASM) 应用程序中集成身份验证,确保在访问GraphQL服务时能够顺利传递访问令牌。
背景介绍
我们假设有一个Blazor WASM应用,该应用需要通过StrawberryShake GraphQL客户端与一个HotChocolate GraphQL服务端进行通信。在这个场景中,我们的主要目标是确保每个GraphQL请求都附带正确的身份验证信息。
问题描述
最初的尝试是使用StrawberryShake的AddGqlClient方法并试图在配置HttpClient时注入访问令牌:
builder.Services.AddMsalAuthentication(...)