Example #1
0
        private Result CheckToken(Reqesut requestModel)
        {
            Result result = new Result();

            if (requestModel == null || string.IsNullOrWhiteSpace(requestModel.Data))
            {
                result.IsSuccess = false;
                result.Message   = "请求主体为空";
                return(result);
            }
            if (string.IsNullOrWhiteSpace(requestModel.AccessToken))
            {
                result.IsSuccess = false;
                result.Message   = "密钥为空";
                return(result);
            }
            if (!UserManager.LoginTokenDataList.ContainsKey(requestModel.AccessToken))
            {
                result.IsSuccess = false;
                result.Message   = "密钥已过期";
                return(result);
            }
            result.IsSuccess = true;
            return(result);
        }
Example #2
0
        public IHttpActionResult ListDataTest([FromBody] Reqesut request)
        {
            Result <string> res = new Result <string>();

            try
            {
                LoginResult loginResult  = GetNewKey(request);
                var         requestmodel = request.Data.DeserializeObject <object>();
                var         data         = new
                {
                    T             = "12",
                    KK            = "xx",
                    AccessToken   = loginResult.AccessToken,
                    Encryptionkey = loginResult.Encryptionkey
                };
                res.IsSuccess = true;
                res.Data      = data.ToJson(request.AccessToken);
            }
            catch (Exception ex)
            {
                res.IsSuccess = false;
                res.Message   = ex.Message;
            }
            return(Ok(res));
        }
Example #3
0
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            Reqesut request  = (Reqesut)actionContext.ActionArguments["request"];
            var     retModel = CheckToken(request);

            if (retModel.IsSuccess)
            {
                request.Data           = Encrypt.DecryptAes(request.Data, UserManager.LoginTokenDataList[request.AccessToken].Encryptionkey);
                request.NewAccessToken = retModel.Message;
            }
            else
            {
                actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Accepted, retModel);
            }
        }
Example #4
0
        protected LoginResult GetNewKey(Reqesut request)
        {
            var oldLoginResult = UserManager.LoginTokenDataList[request.AccessToken];
            var loginResult    = new LoginResult
            {
                AccessToken     = Encrypt.GetNewKey(),
                Encryptionkey   = Encrypt.GetNewKey(),
                TokenExpiration = DateTime.Now.AddYears(100),
                UserInfo        = new UserInfo
                {
                    Email    = oldLoginResult.UserInfo.Email,
                    Id       = oldLoginResult.UserInfo.Id,
                    RegTime  = oldLoginResult.UserInfo.RegTime,
                    UserName = oldLoginResult.UserInfo.UserName,
                }
            };

            UserManager.AddTokenToTokenCache(loginResult);
            return(loginResult);
        }