如何从 Blazor 服务器端登录 WebApi 并检索 cookie 并将其传递给应用程序?

时间:2021-02-10 01:59:33

标签: asp.net-core-webapi blazor-server-side

我想构建一个 Blazor 服务器端应用程序,该应用程序调用需要使用 Microsoft AspNetCore 标识进行身份验证/授权的 ASP NET Core Web API。到目前为止,我已经登录了,但找不到在登录后发送 cookie 并在注销时将其删除的方法。

我进行了广泛的搜索,但只找到了 OAuth、OpenID、Azure、AD、IdentityServer4、ClientSide 等...

1 个答案:

答案 0 :(得分:0)

据我所知,asp.net 核心标识包含登录视图和登录操作方法,没有内置支持 web api。如果你想使用带有身份的web api,你应该注入用户管理器并自己构建身份验证控制器。

更多细节,我建议你可以参考这个article

除了客户端部分,我建议您可以尝试参考此 blog 以了解如何使用 WebAPI 对客户端 Blazor 进行身份验证。

本文提供了一个完整的示例,用于使用 WebAPI 和 ASP.NET Core Identity 对客户端 Blazor 进行身份验证,并使用客户端 Blazor 配置基于角色的授权。

它还包含此示例的 github。