Exemple #1
0
        public async Task <Entities.Authentication.User> Update(Entities.Authentication.User entity)
        {
            _context.Entry(entity).State = EntityState.Modified;

            await _context.SaveChangesAsync();

            return(entity);
        }
Exemple #2
0
        public List <ShortedArticle> Get(Entities.Authentication.User user)
        {
            var shortedArticles = user.Articles
                                  .Select(article => new ShortedArticle(article))
                                  .ToList();

            return(shortedArticles);
        }
Exemple #3
0
        public async Task <Entities.Authentication.User> Add(Entities.Authentication.User entity)
        {
            entity.Role = Entities.Authentication.Role.Admin;

            // Secure password for storing.
            entity.Password = _securityService.Hash(entity.Password);

            return(await _userRepository.Add(entity));
        }
Exemple #4
0
        public List <ShortedArticle> GetBookmarks(Entities.Authentication.User user)
        {
            var shortedArticles = _articleRepository
                                  .GetBookmarks(user)
                                  .Select(article => new ShortedArticle(article))
                                  .ToList();

            return(shortedArticles);
        }
Exemple #5
0
        public List <Entities.Storage.Article> GetBookmarks(Entities.Authentication.User user)
        {
            var articles = new List <Entities.Storage.Article>();

            user.FavoriteArticles
            .ForEach(async a => articles.Add(await Get(a)));

            return(articles);
        }
Exemple #6
0
        private ClaimsIdentity GetClaims(Entities.Authentication.User user)
        {
            var claims = new List <Claim>
            {
                new Claim("name", user.Name),
                new Claim("role", user.Role.ToString())
            };

            ClaimsIdentity claimsIdentity = new ClaimsIdentity(claims, "Token", "name", "role");

            return(claimsIdentity);
        }
Exemple #7
0
        public async Task <Entities.Authentication.User> Add(Entities.Authentication.User entity)
        {
            if (await _context.Set <Entities.Authentication.User>().AnyAsync(u => u.Name == entity.Name))
            {
                return(null);
            }

            _context.Set <Entities.Authentication.User>().Add(entity);
            await _context.SaveChangesAsync();

            return(entity);
        }
Exemple #8
0
        public async Task <Entities.Authentication.User> Add(Entities.Authentication.User entity)
        {
            if (await _context.Set <Entities.Authentication.User>().AnyAsync(u => u.Name == entity.Name))
            {
                return(null);
            }

            // Secure password for storing.
            entity.Password = _securityService.Hash(entity.Password);

            _context.Set <Entities.Authentication.User>().Add(entity);
            await _context.SaveChangesAsync();

            return(entity);
        }
Exemple #9
0
        private string GenerateJwt(Entities.Authentication.User user)
        {
            var jwt = new JwtSecurityToken(
                issuer: _configuration["JWT:Issuer"],
                audience: _configuration["JWT:Audience"],
                notBefore: DateTime.Now,
                claims: GetClaims(user).Claims,
                expires: DateTime.Now.Add(TimeSpan.FromMinutes(int.Parse(_configuration["JWT:Lifetime"]))),
                signingCredentials: new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["JWT:ServerSecret"])), SecurityAlgorithms.HmacSha256));

            var encodedJwt = new JwtSecurityTokenHandler()
                             .WriteToken(jwt);

            return(encodedJwt);
        }
Exemple #10
0
        private string GenerateJwt(Entities.Authentication.User user, JwtOptions options)
        {
            var jwt = new JwtSecurityToken(
                issuer: options.Issuer,
                audience: options.Audience,
                notBefore: DateTime.Now,
                claims: GetClaims(user).Claims,
                expires: DateTime.Now.Add(TimeSpan.FromMinutes(options.LifeTime)),
                signingCredentials: new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(options.ServerSecret)), SecurityAlgorithms.HmacSha256));

            var encodedJwt = new JwtSecurityTokenHandler()
                             .WriteToken(jwt);

            return(encodedJwt);
        }
Exemple #11
0
 public async Task <Entities.Authentication.User> Update(Entities.Authentication.User entity)
 {
     return(await _userRepository.Update(entity));
 }
Exemple #12
0
 public async Task <Entities.Authentication.User> Add(Entities.Authentication.User entity)
 {
     entity.Role = Entities.Authentication.Role.Admin;
     return(await _userRepository.Add(entity));
 }