点网核心Preview-2.0中的身份验证

Vim*_*iya 3 .net-core .net-core-rc2 asp.net-core-webapi

我在.net-core Preview-2的Web api项目中尝试了jwt令牌身份验证,但是它无法正常工作。

JwtBearerAppBuilderExtensions.UseJwtBearerAuthentication(IA ?? pplicationBuilder,JwtBearerOptions)'已过时:'see go.microsoft.com/fwlink/?linkid=845470';

当我尝试使用相同的代码来标记Net Core 1.2时,它可以正常运行。我该怎么办?

在此处输入图片说明

小智 6

我认为您应该使用:

 var signingKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(Configuration.GetSection("TokenAuthentication:SecretKey").Value));


        var tokenValidationParameters = new TokenValidationParameters
        {
            // The signing key must match!
            ValidateIssuerSigningKey = true,
            IssuerSigningKey = signingKey,
            // Validate the JWT Issuer (iss) claim
            ValidateIssuer = true,
            ValidIssuer = Configuration.GetSection("TokenAuthentication:Issuer").Value,
            // Validate the JWT Audience (aud) claim
            ValidateAudience = true,
            ValidAudience = Configuration.GetSection("TokenAuthentication:Audience").Value,
            // Validate the token expiry
            ValidateLifetime = true,
            // If you want to allow a certain amount of clock drift, set that here:
            ClockSkew = TimeSpan.Zero
        };
        services.AddJwtBearerAuthentication(options =>
        {
            options.TokenValidationParameters = tokenValidationParameters;
        });
        services.AddAuthorization(options =>
        {
            options.DefaultPolicy = new AuthorizationPolicyBuilder(JwtBearerDefaults.AuthenticationScheme).RequireAuthenticatedUser().Build();
        });
        services.AddCors(options =>
        {
            options.AddPolicy("CorsPolicy",
                builder => builder.AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader()
                .AllowCredentials());
        });
Run Code Online (Sandbox Code Playgroud)