protected override void Load(ContainerBuilder builder) { builder.RegisterAssemblyTypes(ThisAssembly).AsImplementedInterfaces(); builder.RegisterType <DataContext>().As <IDataContext>() .InstancePerLifetimeScope(); builder.Register(ctx => ctx.Resolve <IConfiguration>().CreateOptions <MongoOptions>("mongo")) .AsSelf().SingleInstance(); builder.Register(context => { var configuration = context.Resolve <IConfiguration>(); var issuerOptions = configuration.GetSection("jwtIssuerOptions").Get <JwtIssuerOptions>(); var keyString = issuerOptions.Audience; var keyBytes = Encoding.Unicode.GetBytes(keyString); var key = new JwtSigningKey(keyBytes); issuerOptions.SigningCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature); return(new OptionsWrapper <JwtIssuerOptions>(issuerOptions)); }).As <IOptions <JwtIssuerOptions> >().InstancePerLifetimeScope(); }
private JwtSigningKey ConfigureSecurityKey(JwtIssuerOptions issuerOptions) { var keyString = issuerOptions.Audience; var keyBytes = Encoding.Unicode.GetBytes(keyString); var signingKey = new JwtSigningKey(keyBytes); return(signingKey); }
protected virtual SecurityKey ConfigureSecurityKey(JwtIssuerOptions issuerOptions) { //this would be more secure, value pulled from KeyVault var keyString = issuerOptions.Audience; var keyBytes = Encoding.UTF8.GetBytes(keyString); var signingKey = new JwtSigningKey(keyBytes); return(signingKey); }