// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddCors(); var tokenOptions = Configuration.GetSection("TokenOptions").Get <TokenOptions>(); services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidIssuer = tokenOptions.Issuer, ValidateAudience = true, ValidAudience = tokenOptions.Audience, ValidateIssuerSigningKey = true, IssuerSigningKey = SecurityKeyTool.CreateSecurityKey(tokenOptions.SecurityKey), ValidateLifetime = true }; } ); services.AddDependencyResolvers( new CoreModule() ); }
public AccessToken CreateToken(User user, List <OperationClaim> operationClaims) { _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiresInMinutes); var securityKey = SecurityKeyTool.CreateSecurityKey(_tokenOptions.SecurityKey); var signingCredentials = SigningCredentialsTool.CreateSigningCredentials(securityKey); var jwtSecurityToken = CreateJwtSecurityToken(_tokenOptions, signingCredentials, user, operationClaims); var jwtSecurityTokenHandler = new JwtSecurityTokenHandler(); var token = jwtSecurityTokenHandler.WriteToken(jwtSecurityToken); return(new AccessToken { Token = token, Expiration = _accessTokenExpiration }); }