Esempio n. 1
0
        public IActionResult AdminLogin(ADMINMast ADMINMast)
        {
            var UserName = _dbContext.ADMINMast.FirstOrDefault(a => a.UserName == a.UserName);

            if (UserName == null)
            {
                return(StatusCode(StatusCodes.Status404NotFound));
            }
            var hashedPassword = UserName.Password;

            if (!SecurePasswordHasherHelper.Verify(ADMINMast.Password, hashedPassword))
            {
                return(Unauthorized());
            }
            var claims = new[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, ADMINMast.UserName),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim(ClaimTypes.Name, ADMINMast.UserName),
            };

            var token = _auth.GenerateAccessToken(claims);

            return(new ObjectResult(new
            {
                access_token = token.AccessToken,
                token_type = token.TokenType,
                Admin_Id = ADMINMast.AdminID,
                user_name = ADMINMast.UserName,
                expires_in = token.ExpiresIn,
                creation_Time = token.ValidFrom,
                expiration_Time = token.ValidTo,
            }));
        }
Esempio n. 2
0
        public async Task <IActionResult> Register(ADMINMast ADMINMast)
        {
            var userWithSameEmail = _dbContext.ADMINMast.SingleOrDefault(u => u.EmailID == ADMINMast.EmailID);

            if (userWithSameEmail != null)
            {
                return(BadRequest("User with this email already exists"));
            }
            var ADMINMastObj = new ADMINMast
            {
                AdminID     = Guid.NewGuid(),
                Name        = ADMINMast.Name,
                UserName    = ADMINMast.UserName,
                Password    = ADMINMast.Password,
                EmailID     = ADMINMast.EmailID,
                CityID      = ADMINMast.CityID,
                Accesslevel = ADMINMast.Accesslevel,
                Active      = ADMINMast.Active
            };

            _dbContext.ADMINMast.Add(ADMINMastObj);
            await _dbContext.SaveChangesAsync();

            return(StatusCode(StatusCodes.Status201Created));
        }