【发布时间】:2019-06-16 22:33:27
【问题描述】:
我正在尝试将 jwt 设置从 json 文件插入到 StartUp.ConfigureServices:
appsettings.json
..,
"jwt": {
"key": "some_password123TEST!",
"issuer": "http: //localhost:Port",
"expiryMinutes": 60
}
JwtSettings.cs
public class JwtSettings
{
public string Key { get; set; }
public string Issuer { get; set; }
public int ExpiryMinutes { get; set; }
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
...
services.Configure<JwtSettings>(Configuration.GetSection("jwt"));
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(o =>
{
o.TokenValidationParameters = new TokenValidationParameters
{
// ValidateIssuer = true,
ValidateIssuer = JwtSettings.Issuer ???
......
});
}
现在如何从 JwtSettings.Issuer 获取我的设置?
我尝试添加也将其添加到Configure 方法:
app.ApplicationServices.GetService<JwtSettings>();
或
var test = app.ApplicationServices.GetService<JwtSettings>();
app.UseAuthentication(test);
但不是这样的。
【问题讨论】:
标签: c# authentication web-applications jwt asp.net-core-webapi