Ejemplo n.º 1
0
        public AccountService(
            IMapper mapper,
            IUserService userService,
            IOptions <TokenOptions> tokenOptions,
            ILogger <AccountService> logger,
            UserManager <IdentityUser> userManager,
            SignInManager <IdentityUser> signInManager
            )
        {
            _mapper       = mapper;
            _userService  = userService;
            _tokenOptions = tokenOptions.Value;
            _logger       = logger;

            _userManager   = userManager;
            _signInManager = signInManager;
        }
Ejemplo n.º 2
0
        private static IServiceCollection AddAlmAuthentication(this IServiceCollection services, TokenOptions tokenOptions)
        {
            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultScheme             = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(jwtBearerOptions =>
            {
                jwtBearerOptions.SaveToken = true;
                jwtBearerOptions.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuerSigningKey = true,
                    IssuerSigningKey         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(tokenOptions.Secret)),

                    ValidateIssuer = true,
                    ValidIssuer    = tokenOptions.Issuer,

                    ValidateAudience = true,
                    ValidAudience    = tokenOptions.Audience,

                    ValidateLifetime = true,            //validate the expiration and not before values in the token

                    ClockSkew = TimeSpan.FromMinutes(5) //5 minute tolerance for the expiration date
                };
            });

            return(services);
        }