Ejemplo n.º 1
0
        public HttpResponseMessage Post([FromBody] AuthenticationRecord userAuthData)
        {
            try
            {
                if (Authenticate(userAuthData) == true) //user istnieje, haslo sie zgadza
                {
                    var user = _unitOfWork.UsersRepository.GetUserByEmail(userAuthData.Email);

                    if (TokenBase.VerifyUserToken(user) == true) //jesli token juz istnieje  i jest ważny - zwracamy go
                    {
                        var token = TokenBase.GetUserToken(user);
                        return(Request.CreateResponse(HttpStatusCode.OK, token.GetString));
                    }
                    //token nie istnieje - tworzymy go i zwracamy
                    return(Request.CreateResponse(HttpStatusCode.OK, TokenBase.AddNewToken(user).GetString));
                }
                else
                {
                    HttpError err = new HttpError("Authentication Failed!");
                    return(Request.CreateResponse(HttpStatusCode.Unauthorized, err));
                }
            }
            catch (Exception)
            {
                HttpError err = new HttpError("Error while authentication");
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, err));
            }
        }