public static IServiceCollection AddTokenService(this IServiceCollection services, IConfiguration configuration) { const string sectionname = "TokenInfo"; services.Configure <TokenConfigData>(configuration.GetSection(sectionname)); //把配置文件中,配置信息加载回来 TokenConfigData _tokenconfigdata = configuration.GetSection(sectionname).Get <TokenConfigData>(); // 注册JwtBearer服务 services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, //是否验证Issuer ValidateAudience = true, //是否验证Audience ValidateLifetime = true, //是否验证失效时间 ValidateIssuerSigningKey = true, //是否验证SecurityKey ValidAudience = _tokenconfigdata.audience, // "http://localhost:5001" ,//Audience ValidIssuer = _tokenconfigdata.issuer, // "http://localhost:5000" ,//Issuer,这两项和前面签发jwt的设置一致 //IssuerSigningKey = new SymmetricSecurityKey( Encoding.UTF8.GetBytes( "1234567890123456key" ) )//拿到SecurityKey IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_tokenconfigdata.key)) //拿到SecurityKey }; }); return(services); }
public UsersController(IUser user, IMapper mapper, IOptionsMonitor <TokenConfigData> _TokenConfigDataOptions) { this.iuser = user; this.mapper = mapper; this.tokenConfigData = _TokenConfigDataOptions.CurrentValue; }