无法将 [] 索引应用于“IConfiguration”类型的表达式

Kia*_*ush 2 asp.net-core asp.net-core-webapi asp.net-core-2.0

我需要使用 jwt 创建一个登录名。当我使用此代码时:

        private string BuildToken(User user)
    {

        var claims = new[] {
            new Claim(JwtRegisteredClaimNames.Sub, user.DisplayName),
            new Claim(JwtRegisteredClaimNames.Email, user.Email),
            new Claim(JwtRegisteredClaimNames.Birthdate, user.BirthDate.ToString()),
            new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
        };

        var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
        var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

        var token = new JwtSecurityToken(_config["Jwt:Issuer"],
          _config["Jwt:Issuer"],
          claims,
          expires: DateTime.Now.AddMinutes(30),
          signingCredentials: creds);

        return new JwtSecurityTokenHandler().WriteToken(token);
    }
Run Code Online (Sandbox Code Playgroud)

它告诉我这个错误:

严重性代码描述项目文件行抑制状态错误 CS0021 无法将带有 [] 的索引应用于“IConfiguration”类型的表达式 StoreFinal C:\Users\Mr-Programer\Desktop\New folder\StoreFinal\StoreFinal\Areas\Admin\Controllers\LoginController .cs 65 活跃

在这一行中显示错误: var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));

Kia*_*ush 5

我在命名空间中添加了它,它解决了这个:

using IConfiguration = Microsoft.Extensions.Configuration.IConfiguration;
Run Code Online (Sandbox Code Playgroud)


小智 5

添加using Microsoft.Extensions.Configuration