public HttpResponseMessage AuthUser(string username, string password) { var user = UserManager.Instance.FindUser(username, password); if (user != null) { var token = JWTManager.GetToken(user); return(Request.CreateResponse(HttpStatusCode.OK, new { token = token, user = user, details = GetDetails(user.Id, user.AccountType) })); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Username or password is invalid!")); } }
public HttpResponseMessage RefreshToken(string expiredToken) { var userId = JWTManager.DecodeToken(expiredToken).Item3; var user = ApplicationDbContext.Instance.Users.FindOne(x => x.Id == userId); if (user != null) { var token = JWTManager.GetToken(user); return(Request.CreateResponse(HttpStatusCode.OK, new { token = token, user = user })); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid token.")); } }
public void OnActionExecuting(ActionExecutingContext context) { if (!context.Filters.Any(x => x.GetType() == typeof(ArduinoAllowAnonymous))) { using (IUnitOfWork uow = new UnitOfWork()) { var token = JWTManager.GetToken(context.HttpContext); if (String.IsNullOrEmpty(token)) { UnAuthorized(context); return; } IDataResult <User> existsUser = uow.User.CheckToken(token); if (!existsUser.Success) { UnAuthorized(context); return; } } } }