- 改造AddAuthentication方法,改造后如图所示:
context.Services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.Authority = configuration["AuthServer:Authority"];
options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]);
options.SaveToken = true;
options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters
{
ValidateIssuerSigningKey = false,
ValidateIssuer = false,
ValidateAudience = false
};
options.BackchannelHttpHandler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback =
HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
};
});
- 改写appsettings.json里的AuthServer
"AuthServer": {
"Authority": "http://localhost:5006",
"RequireHttpsMetadata": "false",
"SwaggerClientId": "Agv_Swagger",
"SwaggerClientSecret": "1q2w3e*",
"ClientId": "Test_App",
"ClientSecret": "Test_App"
}
- 获取token
- 在调用其他接口的时候在Headers里面加上Authorization Bearer token
就能在后台代码里获取current user