首页 > 解决方案 > Blazor 中的网络凭据

问题描述

在 WASM Blazor 应用程序中,我通过在顶部执行此操作来注入 Http 客户端:

@inject HttpClient Http

现在我希望能够像在常规 .NET 中一样设置用户名和密码,你可以这样做:

handler.Credentials = new NetworkCredential(userName, password);

但是,我找不到Http可以设置凭据的任何属性,我该如何设置?

标签: c#.nethttp.net-coreblazor

解决方案


目前尚不清楚您做了什么,因为您几乎没有提供代码来证明您的问题。但是,很清楚你在努力什么。

为了在 Blazor WebAssembly 应用程序中对用户进行身份验证和授权,您可以使用 Jwt 身份验证或 OpenID 连接,将用户的凭据传递到 Web Api 端点以验证用户,创建 Jwt 令牌,并将其传递回您的前端可以将 Jwt Token 存储在本地存储中,并在用户登录、访问各种资源等时取回。

另请注意,HttpClient 并不是真正的 HttpClient。它基于 JavaScript Fetch Api,缺少 WebSockets 等功能。

我已经在本节中发布了有关如何使用 Jwt 身份验证和 OpenID 连接的答案。您必须搜索那些处理 Jwt 身份验证的答案,因为那是很久以前的事了,我不记得它们的位置。但是,这里是添加 OpenID Connect to IdentityServer4Accessing token from Blazor的链接

希望这可以帮助...


推荐阅读