JWT .net core 中的发行者和受众

hie*_*duc 6 c# jwt .net-core

大家好,我正在尝试在.net core api中执行JWT,并且在文件startup.cs中配置JWT时有一个问题具体来说,我想问“ValidIssuer”和“ValidAudience”要做什么,这对JWT意味着什么?有人可以帮助我吗,谢谢大家。

这是我的代码:

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(option =>
            {
                option.TokenValidationParameters = new TokenValidationParameters
                {
                    // what to validate
                    ValidateIssuer = true,
                    ValidateAudience = true,    
                    ValidateIssuerSigningKey = true,
                    // set up validate data 
                    ValidIssuer = "smesk.in", 
                    ValidAudience = "reader", 
                    IssuerSigningKey = symmetricSecurityKey

                };



            });
Run Code Online (Sandbox Code Playgroud)

viv*_*una 3

它基本上用于您希望允许您的请求的人。你可以参考这个文档。

https://learn.microsoft.com/en-us/dotnet/api/microsoft.identitymodel.tokens.tokenvalidationparameters.validaudience?view=azure-dotnet

你可以这样设置。

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddJwtBearer(options =>
    {
        options.TokenValidationParameters = new TokenValidationParameters
        {

            ValidateIssuer = true,
            ValidateAudience = true,
            ValidIssuer = Configuration["Jwt:Issuer"],
            ValidAudience = Configuration["Jwt:Audience"]

        };
    });
Run Code Online (Sandbox Code Playgroud)

应用程序设置.json

  "Jwt": {
    "Issuer": "test.com",
    "Audience": "abc.com"
  }
Run Code Online (Sandbox Code Playgroud)