Example #1
0
        public async Task <HttpResponseMessage> SendEmailConfirmLink([FromBody] EmailDTO emailModel, string emailConfirmLink)
        {
            try
            {
                if (emailConfirmLink == null)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Email confirmation link not found"));
                }
                if (ModelState.IsValid)
                {
                    var user = userService.GetByEmail(emailModel.Email);
                    if (user == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NoContent, "User not found"));
                    }
                    if (user.EmailConfirmed)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "Email already confirmed"));
                    }
                    string token = JwtManager.GenerateToken(user, 0, 1);
                    await EmailService.SendConfirmPasswordEmail(user.Email, token, emailConfirmLink);

                    return(Request.CreateResponse(HttpStatusCode.OK, "Token successfully sent"));
                }
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Email is not valid"));
            }
            catch (EntityException e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
            }
        }
Example #2
0
        public IHttpActionResult Get(string username, string password)
        {
            JwtResult objJwtResult = new JwtResult();

            try
            {
                UsuarioService usuarioService = new UsuarioService();
                Usuario        usuario        = usuarioService.ObterPorLogin(username);


                if (usuario != null && EncriptarSenha.CompararSenhas(password, usuario.Senha))
                {
                    string token = JwtManager.GenerateToken(usuario.IdUsuario.ToString());

                    objJwtResult.access_token = token;

                    return(Ok(objJwtResult));
                }
                else
                {
                    return(Unauthorized());
                }
            }
            catch (Exception erro)
            {
                return(BadRequest(erro.Message));
            }
        }
        public HttpResponseMessage SignIn([FromBody] UserDetailsModel userDetailsModel)
        {
            try
            {
                if (string.IsNullOrEmpty(userDetailsModel.UserName) || string.IsNullOrEmpty(userDetailsModel.Password))
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Username or Password can not be empty", Configuration.Formatters.JsonFormatter));
                }

                var userDetails = Mapper.Map <UserDetailsModel, ContactInfo.DBEntities.Entities.UserDetail>(userDetailsModel);

                bool status = _accountBL.SignIn(userDetails);
                if (!status)
                {
                    return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Invalid User", Configuration.Formatters.JsonFormatter));
                }
                else
                {
                    string token = JwtManager.GenerateToken(userDetails.UserName);
                    return(Request.CreateResponse(HttpStatusCode.OK, token, Configuration.Formatters.JsonFormatter));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Internal Server Error", Configuration.Formatters.JsonFormatter));
            }
        }
Example #4
0
 public IHttpActionResult Login(Models.Login loginReqest)
 {
     try
     {
         if (loginReqest == null)
         {
             return(Content(HttpStatusCode.BadRequest, new Response <string>("400", "Request should not be null")));
         }
         else if (!ModelState.IsValid)
         {
             return(Content(HttpStatusCode.BadRequest, new Response <string>("400", "This feild is mandatory", null, ModelState)));
         }
         var user = new User();
         if (loginReqest.U_Email != null)
         {
             string        query   = "SELECT * FROM AppUser where U_Email= @userEmail";
             SqlConnection conn    = new SqlConnection(Utils.connStr);
             SqlCommand    command = new SqlCommand(query, conn);
             command.Parameters.AddWithValue("@userEmail", loginReqest.U_Email);
             conn.Open();
             SqlDataReader reader = command.ExecuteReader();
             if (reader.Read())
             {
                 user = new User()
                 {
                     U_ID       = (int)reader["U_ID"],
                     U_Name     = reader["U_Name"].ToString(),
                     U_Email    = reader["U_Email"].ToString(),
                     U_Password = reader["U_Password"].ToString(),
                 };
             }
             else
             {
                 conn.Close();
                 return(Content(HttpStatusCode.BadRequest, new Response <string>("400", "Email or Password dosen't match.")));
             }
             conn.Close();
             if (user.U_Email != null)
             {
                 var auth = BCrypt.Net.BCrypt.Verify(loginReqest.U_Password, user.U_Password);
                 if (auth)
                 {
                     var token = JwtManager.GenerateToken(user);
                     user.Token = token;
                     return(Content(HttpStatusCode.OK, new Response <User>("200", "Login Succesfully.", user)));
                 }
                 else
                 {
                     return(Content(HttpStatusCode.BadRequest, new Response <string>("400", "Email or Password doesn't match.")));
                 }
             }
         }
     }
     catch (Exception ex)
     {
         return(Content(HttpStatusCode.InternalServerError, new Response <string>(ex.StackTrace, ex.Message)));
     };
     return(Content(HttpStatusCode.InternalServerError, new Response <string>("500", "Something went wrong.Please try again later.")));
 }
Example #5
0
        private void SendMail(int userId, int sid, out string token)
        {
            string email = db.User.Where(x => x.UserId == userId)
                           .Select(x => x.Email).FirstOrDefault();

            EmailManager.SendMail(email, $"Your conformation code is: {sid}", "Confirm your identity");
            token = JwtManager.GenerateToken(userId, role: "notUser");
        }
Example #6
0
        public IHttpActionResult Post([FromBody] AuthUser user)
        {
            var result = JwtManager.GenerateToken(user);

            //  var result = JwtManager.GenerateToken(user.UserName, user.UserRole);

            return(Ok(result));
        }
Example #7
0
        private async Task <TokenDTO> GenerateNewTokensAsync(User user)
        {
            var role = await _unitOfWork.RoleRepository.GetAsync(user.RoleId);

            var token = _jwtManager.GenerateToken(user.Id, user.Email, role?.Name);

            return(token);
        }
Example #8
0
 public string Get(string username, string password)
 {
     if (CheckUser(username, password))
     {
         return(JwtManager.GenerateToken(username));
     }
     throw new HttpResponseException(HttpStatusCode.Unauthorized);
 }
Example #9
0
        public void TestMethod1()
        {
            //Run
            var result = JwtManager.GenerateToken("nhonnt");

            //Asert
            Assert.AreEqual(new TimeSpan(4, 30, 0).ToString(), result);
        }
        public HttpResponseMessage GetToken(string username, string password)
        {
            if (CheckUser(username, password))
            {
                return(Request.CreateResponse(HttpStatusCode.OK, JwtManager.GenerateToken(username)));
            }

            return(Request.CreateResponse(HttpStatusCode.Unauthorized));
        }
Example #11
0
 public TokenModule() : base(@"/api")
 {
     Get(@"/token/{user}", parameters =>
     {
         string user = parameters.user;
         var token   = JwtManager.GenerateToken(user);
         return(Response.AsJson(token));
     });
 }
        public string Login([FromBody] Models.User user)
        {
            if (CheckUser(user.Username, user.Password, out Models.User loginUser))
            {
                return(JwtManager.GenerateToken(loginUser));
            }

            throw new HttpResponseException(HttpStatusCode.Unauthorized);
        }
Example #13
0
        public void JwtGenerateToken_Success()
        {
            var token = JwtManager.GenerateToken("user_test");

            if (token.Length > 0)
            {
                Assert.True(true);
            }
        }
Example #14
0
        public IHttpActionResult Get([FromBody] User user)
        {
            if (CheckUser(user.name, user.password))
            {
                return(Ok <string>(JwtManager.GenerateToken(user.name)));
            }

            throw new HttpResponseException(HttpStatusCode.Unauthorized);
        }
Example #15
0
        public async Task <UserInfo> Login(SignInDto dto)
        {
            var userInfo = await new LoginCommand(dto).Login();

            userInfo.Token     = JwtManager.GenerateToken(userInfo, out var expiresOn, 180, userInfo.CompanyId);
            userInfo.ExpiresOn = expiresOn;

            return(userInfo);
        }
Example #16
0
        public void JwtValidateDate(int minutesCount)
        {
            Constants.JwtExpiryInMinutes = minutesCount;

            var token  = JwtManager.GenerateToken(user);
            var dateTo = DateTime.UtcNow.AddMinutes(minutesCount);

            Assert.IsTrue(Math.Abs((dateTo - token.ValidTo).TotalSeconds) < 3);
        }
Example #17
0
        public async Task <IHttpActionResult> LoginFb([FromBody] LoginViewModel request)
        {
            var user = ApplicationUserManager.FindByName(request.Email);

            if (user == null)
            {
                user = new User()
                {
                    UserName   = request.Email,
                    Email      = request.Email,
                    FirstName  = request.Firstname,
                    LastName   = request.Lastname,
                    FacebookId = request.Type.Equals("fb") ? request.Uid : "",
                    GoogleId   = request.Type.Equals("gg") ? request.Uid : "",
                };

                IdentityResult result = await ApplicationUserManager.CreateAsync(user);

                if (!result.Succeeded)
                {
                    return(BadRequest("Can't create user"));
                }

                string fileName = user.Id + DateTime.Now.Millisecond.ToString() + ".jpg";
                string filePath = HttpContext.Current.Server.MapPath("~/Media/UserImage/") + fileName;
                Utilities.GetImageFormUrl(request.Avatar).Save(filePath);
                user.ImageUrl = "/Media/UserImage/" + fileName;
                result        = await ApplicationUserManager.UpdateAsync(user);
            }

            request.Status_code = "200";
            request.Message     = "OK";
            request.AccessToken = JwtManager.GenerateToken(user.UserName, expried);
            request.Avatar      = user.ImageUrl;
            request.Email       = user.Email;
            request.Uid         = user.Id;
            request.Lastname    = user.LastName;
            request.Amount      = user.Current_Money;
            request.Phone       = user.PhoneNumber;
            request.Bio         = user.FirstName;
            request.Tknl        = user.TKNL;
            if (user.Address != null)
            {
                string[] abc = user.Address.Split('_');
                if (abc.Length == 2)
                {
                    City city = cityService.GetCities().FirstOrDefault(c => c.Code.Equals(abc[1]));
                    if (city != null)
                    {
                        request.Address = abc[0] + ", " + city.Name + ", " + city.Country.Name;
                        request.GeoId   = abc[1];
                    }
                }
            }

            return(Ok(request));
        }
        public IHttpActionResult GetToken([FromBody] UserCredentials userCredentials)
        {
            if (_userLogic.ValidateCredentials(userCredentials))
            {
                return(Ok(JwtManager.GenerateToken(userCredentials.Login)));
            }

            return(StatusCode(HttpStatusCode.Unauthorized));
        }
        public User Post([FromBody] User user)
        {
            if (this.CheckUser(user))
            {
                user.JWtToken = JwtManager.GenerateToken(user.UserName);
                return(user);
            }

            throw new HttpResponseException(HttpStatusCode.Unauthorized);
        }
        public string GenerateToken(string username, string password)
        {
            Enums.UserType role;
            if (CheckUser(username, password, out role))
            {
                return(JwtManager.GenerateToken(username, role.ToString()));
            }

            throw new HttpResponseException(HttpStatusCode.Unauthorized);
        }
Example #21
0
        public IActionResult UpdateAuthToken()
        {
            if (CurrentUser.IsEnabled && CurrentUser.EmailConfirmed)
            {
                var token = JwtManager.GenerateToken(CurrentUser);
                return(Ok(token.Value));
            }

            return(BadRequest(ErrorResult.GetResult(ValidationMessages.AccessDenied)));
        }
        public string Get(string mail, string mot_de_passe)
        {
            if (CheckUser(mail, mot_de_passe))
            {
                return(JwtManager.GenerateToken(mail));
            }

            //throw new HttpResponseException(HttpStatusCode.Unauthorized);
            return("error");
        }
Example #23
0
 public UserViewModel MapUser(UserModel model)
 {
     return(new UserViewModel
     {
         Id = model.Id,
         Email = model.Email,
         HandleName = (model.HandleName.Length > 0) ? model.HandleName : model.Email,
         token = JwtManager.GenerateToken(model.Email)
     });
 }
Example #24
0
		public string Post([FromBody]User user)
		{
			if (CheckUser(user.Username, user.Password))
			{
				var token = JwtManager.GenerateToken(user.Username);
				return token;
			}

			throw new System.Web.Http.HttpResponseException(System.Net.HttpStatusCode.Unauthorized);
		}
Example #25
0
        [IdentityBasicAuthentication] // Enable Basic authentication for this action.
        //[BasicAuthenticationFilter]
        public string Post(string username, string password)
        {
            _log.Debug("Entra");
            if (new UsuarioRepository().ExisteUsuario(username, password))
            {
                return(JwtManager.GenerateToken(username));
            }

            throw new HttpResponseException(HttpStatusCode.Unauthorized);
        }
        public async Task <Token> GenerateToken(int userId)
        {
            var user = await userManager.FindByIdAsync(userId);

            if (user != null && user.Id > 0)
            {
                return(JwtManager.GenerateToken(await userManager.CreateIdentityAsync(user)));
            }

            return(null);
        }
Example #27
0
        public async Task <AuthResult <Token> > Login(LoginDTO loginDto)
        {
            if (loginDto == null || string.IsNullOrEmpty(loginDto.Email) || string.IsNullOrEmpty(loginDto.Password))
            {
                return(AuthResult <Token> .UnvalidatedResult);
            }

            var user = await userManager.FindByEmailAsync(loginDto.Email);

            if (user != null && user.Id > 0)
            {
                if (await userManager.CheckPasswordAsync(user, loginDto.Password))
                {
                    var token = jwtManager.GenerateToken(user);
                    return(AuthResult <Token> .TokenResult(token));
                }
            }

            return(AuthResult <Token> .UnauthorizedResult);
        }
 public void TryAndGeneratingTokenWithNegativeExpiry()
 {
     Assert.That(() =>
     {
         JwtManager.GenerateToken("test", -10);
     }, Throws.Exception
                 .TypeOf <ArgumentOutOfRangeException>()
                 .With.Property("Message")
                 .StartsWith("The value of minutes to expire cannot be less then or equal to zero.")
                 );
 }
 public string Get()
 {
     if (Thread.CurrentPrincipal.Identity.IsAuthenticated)
     {
         return(JwtManager.GenerateToken(Thread.CurrentPrincipal.Identity.Name));
     }
     else
     {
         throw new HttpResponseException(HttpStatusCode.Unauthorized);
     }
 }
Example #30
0
        public IHttpActionResult Login(LoginViewModel model)
        {
            var user = _userService.Login(model.UserName, model.Password);

            if (user != null)
            {
                return(Ok(JwtManager.GenerateToken(user.UserName)));
            }

            return(this.Unauthorized());
        }