コード例 #1
0
        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!"));
            }
        }
コード例 #2
0
        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."));
            }
        }
コード例 #3
0
 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;
             }
         }
     }
 }