Example #1
0
        public async Task <string> Post([FromBody] User user)
        {
            try
            {
                var signinResult = await authRepo.PasswordSignInAsync(user.Email, user.PasswordHash, true, false);

                if (signinResult != null && signinResult.Succeeded)
                {
                    var loggedUser = userRepo.Get(x => x.Email == user.Email.Trim()).FirstOrDefault();

                    var requestAt = DateTime.Now;
                    var expiresIn = requestAt + TokenAuthOption.ExpiresSpan;
                    var token     = GenerateToken(loggedUser, expiresIn);

                    return(JsonConvert.SerializeObject(new RequestResult
                    {
                        State = RequestState.Success,
                        Data = new
                        {
                            requertAt = requestAt,
                            expiresIn = TokenAuthOption.ExpiresSpan.TotalSeconds,
                            tokeyType = TokenAuthOption.TokenType,
                            accessToken = token,
                            fullName = loggedUser.FirstName + " " + loggedUser.LastName
                        }
                    }));
                }
                else
                {
                    return(JsonConvert.SerializeObject(new RequestResult
                    {
                        State = RequestState.Failed,
                        Msg = "Username or password is invalid"
                    }));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public User Get(string id)
 {
     return(userRepo.Get(x => x.Id == id).FirstOrDefault());
 }
 public Post Get(int id)
 {
     return(postRepo.Get(x => x.Id == id).FirstOrDefault());
 }