public async Task <string> Login(User user) { if (!await ValidUser(user)) { return(string.Empty); } var token = new JwtSecurityToken(TokenSettings.Issuer, TokenSettings.Audience, notBefore: DateTime.Now, expires: DateTime.Now.AddMinutes(TokenSettings.Lifetime), signingCredentials: new SigningCredentials(TokenSettings.GetSymmetricKey(), SecurityAlgorithms.HmacSha256)); return(new JwtSecurityTokenHandler().WriteToken(token)); }
public static IServiceCollection ConfigureAuthentication(this IServiceCollection services) { services.AddAuthentication(option => { option.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; option.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidateAudience = true, ValidateLifetime = true, ValidateActor = true, ValidateIssuerSigningKey = true, ValidateTokenReplay = true, ValidIssuer = TokenSettings.Issuer, ValidAudience = TokenSettings.Audience, IssuerSigningKey = TokenSettings.GetSymmetricKey() }; }); return(services); }