使用 Razor (.NET CORE 2.2 MVC) 时如何在每次请求时传输 JWT 令牌

How to transfer a JWT token at each requesto when using Razor (.NET CORE 2.2 MVC)

我想对.net core MVC项目使用JWT授权。我发现了很多关于如何在用户登录时 return JWT 令牌的示例。 但是,只有几个示例说明如何在 header.

的每个请求中传输令牌

我找到了 AJAX 的示例:

$.ajaxSetup({ headers: { "Authorization": "Bearer " + accessToken } });

Simple Authentication using Jwt in dot net core MVC

How to use JWT in MVC application for authentication and authorization?

这是转移 JWT 令牌的正确方法吗? 我总是必须使用 AJAX 吗?

没有JWT授权这回事

JWT 令牌只是一种用于分发签名声明集的格式。

传递令牌的正确方式取决于许多因素,例如您在 oauth 流中的位置、传输是否加密、令牌是否包含个人信息以及您的前端是否是 spa、本机等

您链接中的代码示例使用 Ajax 访问受保护的 resources/apis 。您还可以在 headers 中传递承载令牌以在服务器端进行 api 调用:

HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "APIurl");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "YourAccessToken");
HttpResponseMessage response = await client.SendAsync(request);


if (response.IsSuccessStatusCode)
{

    String responseString = await response.Content.ReadAsStringAsync();

    ...
}