什么是BearerOption.SaveToken属性用于?

问题描述 投票:4回答:2

什么bearerOption.SaveToken属性用于配置aspnet core 2中的JwtAuthentication?

    services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
                    .AddJwtBearer(bearer =>
                    {
                        bearer.TokenValidationParameters.IssuerSigningKey = signingKey as SecurityKey;
                        bearer.TokenValidationParameters.ValidIssuer = Configuration["Jwt:Issuer"];
                        bearer.TokenValidationParameters.ValidAudience = Configuration["Jwt:Audience"];
                        bearer.TokenValidationParameters.ClockSkew = TimeSpan.Zero;
                        bearer.TokenValidationParameters.ValidateLifetime = true;
                        bearer.TokenValidationParameters.ValidateAudience = true;
                        bearer.TokenValidationParameters.ValidateIssuer = true;
                        bearer.TokenValidationParameters.ValidateIssuerSigningKey = true;
                        bearer.TokenValidationParameters.RequireExpirationTime = true;
                        bearer.TokenValidationParameters.RequireSignedTokens = true;
                        // ******
                        bearer.SaveToken = true;
                        // ******
                    });
c# asp.net-core-2.0
2个回答
4
投票

bearer.SaveToken用于指示服务器是否必须保存令牌服务器端以验证它们。因此,即使用户具有正确的签名和加密,如果服务器不生成,也不会通过令牌验证。这是一个安全加固,所以即使签名密钥被泄露,您的应用程序也不会。

下行:

  • 如果您的应用程序重新启动,则回收您的令牌不再有效。
  • 如果有分布式应用程序,这将不适合您。

0
投票

它是一个属性,用于定义在成功授权后是否应将持有者令牌存储在AuthenticationProperties中。

© www.soinside.com 2019 - 2024. All rights reserved.