コード例 #1
0
        public async Task <ActionResult <DTOToken> > Register(ApplicationUser appUser)
        {
            var user = new DTOUser()
            {
                Email        = appUser.Email.ToLower(),
                Name         = appUser.Name,
                PasswordHash = BCrypt.Net.BCrypt.HashPassword(appUser.Password, _appSettings.BcryptWorkfactor)
            };

            _context.DTOUsers.Add(user);
            await _context.SaveChangesAsync();

            var jwtToken = new DTOToken();

            jwtToken.JWT = GenerateToken(user.Email);
            return(CreatedAtAction("GetUser", new { id = user.Id }, jwtToken));
        }
コード例 #2
0
        public async Task <IActionResult> Renovate([FromBody] DTOToken _token)
        {
            var refreshToken = await _tokenRepo.GetToken(_token.RefreshToken);

            if (refreshToken == null)
            {
                return(NotFound());
            }

            refreshToken.Updated = DateTime.Now;
            refreshToken.Used    = true;
            await _tokenRepo.Update(refreshToken);

            //Gerando token
            var user = await _repository.FindAsync(refreshToken.UserId);

            return(BuildNewToken(user));
        }