我的问题是在Authorization
上。
我有两个控制器的Account
和Patient
控制器。我正在打电话给
PatientController.GetData
并说为Unauthorized
。
我确定我已经附加了authorization:"jwttoken" on the Header
[Authorize]
public class AccountController{
[AllowAnonymous]
public JsonResult Login(){
}
}
[Authorize]
public class PatientController{
public IActionResult GetData(){
}
}
startup file
here is my startup file:
services.AddAuthentication(x =>
{
x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
x.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(x =>
{
x.RequireHttpsMetadata = false;
x.SaveToken = true;
x.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(key),
ValidateIssuer = false,
ValidateAudience = false
};
});
谢谢, 傍
答案 0 :(得分:0)
您需要确保已在startup.cs文件configureServices()中设置了您的授权
例如
services.AddAuthentication("Bearer")
.AddJwtBearer("Bearer", options =>
{
options.Authority = "Authentication Server Url";
options.RequireHttpsMetadata = false;
options.Audience = "Client id";
});