Exemple #1
0
        // 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()
                );
        }
Exemple #2
0
        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
            });
        }