繁体   English   中英

在ASP.NET Core 2.1 Web客户端中的哪里存储承载令牌

[英]Where to store bearer token in ASP.NET Core 2.1 web client

我正在编写一个三级应用程序。 我有ASP.NET Core 2.1 Api,Web客户端应用程序和Android应用程序。 Api受Jwt授权保护。 我在存储从Api到Web客户端的令牌时遇到问题。 我需要一种安全的方法来实现此目的,并且我正在考虑将其存储在ClaimsIdentity是否是一种好方法。 我将在这里添加它:

var claims = new List<Claim>
{
    new Claim(ClaimTypes.NameIdentifier, token.userId),
    new Claim(ClaimTypes.Name, token.userName),
    // Here add new Claim(ClaimTypes.Authentication, token.token)
};

var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
var principal = new ClaimsPrincipal(identity);

await HttpContext.SignInAsync(principal);

这是正确和安全的方法吗?

终于我找到了可以使用的东西。

https://hanssens.com/projects/localstorage

您可以使用此组件将大量数据存储在内存中。 它还具有加密模式,因此应该非常安全。 再次感谢您的帮助!

我在ASP.NET Core 2.1中使用了JwtBearer授权,以将其与移动设备连接。

我存储在前端的令牌...例如移动设备...我将其存储在设置文件中...打开应用程序后,我检查值是否存在或为空

如果存在...如果为空则使用它进行请求...请求一个新令牌

在网络中...您可以将其存储在本地存储或cookie中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM