Example #1
0
        /// <summary>
        ///     检查设备标识
        /// </summary>
        /// <returns>
        ///     0:表示通过验证,可以继续
        ///     1:令牌为空
        ///     2:令牌是伪造的
        /// </returns>
        private int CheckDeviceId(string token)
        {
            if (Request.RequestUri.LocalPath == "/v1/oauth/getdid")
            {
                return(ErrorCode.Success);
            }

            IBearValidater            checker = IocHelper.Create <IBearValidater>();
            ApiResult <LoginUserInfo> result;

            try
            {
                result = checker.ValidateDeviceId(token);
            }
            catch (Exception ex)
            {
                LogRecorder.Exception(ex);
                return(ErrorCode.Success);
            }
            if (!result.Success)
            {
                return(result.Status.ErrorCode);
            }
            CreateApiContext(result.ResultData, token);
            LogRecorder.MonitorTrace("Authorization:匿名用户");
            return(ErrorCode.Success);
        }
Example #2
0
        /// <summary>
        ///     检查AccessToken
        /// </summary>
        /// <returns>
        ///     0:表示通过验证,可以继续
        ///     1:令牌为空
        ///     2:令牌是伪造的
        /// </returns>
        private int CheckAccessToken(string token)
        {
            IBearValidater            checker = IocHelper.Create <IBearValidater>();
            ApiResult <LoginUserInfo> result;

            try
            {
                result = checker.VerifyAccessToken(token);
            }
            catch (Exception ex)
            {
                LogRecorder.Exception(ex);
                return(ErrorCode.Auth_AccessToken_Unknow);
            }
            if (!result.Success)
            {
                return(result.Status.ErrorCode);
            }
            CreateApiContext(result.ResultData, token);
            LogRecorder.MonitorTrace("Authorization:" + result.ResultData.Account);
            return(ErrorCode.Success);
        }
Example #3
0
        /// <summary>
        ///     检查旧标识
        /// </summary>
        /// <returns>
        ///     0:表示通过验证,可以继续
        ///     1:令牌为空
        ///     2:令牌是伪造的
        /// </returns>
        private int CheckServiceKey(string token)
        {
            RequestInfo requestInfo;

            try
            {
                requestInfo = JsonConvert.DeserializeObject <RequestInfo>(token);
            }
            catch (Exception ex)
            {
                LogRecorder.Exception(ex);
                return(ErrorCode.Auth_ServiceKey_Unknow);
            }
            if (requestInfo == null)
            {
                return(ErrorCode.Auth_ServiceKey_Unknow);
            }
            IBearValidater checker = IocHelper.Create <IBearValidater>();
            ApiResult      result  = checker.ValidateServiceKey(requestInfo.ServiceKey);

            if (!result.Success)
            {
                return(result.Status.ErrorCode);
            }
            ApiResult <LoginUserInfo> user = checker.GetLoginUser(requestInfo.Token);

            if (!user.Success)
            {
                return(user.Status.ErrorCode);
            }
            GlobalContext.SetUser(user.ResultData);
            GlobalContext.SetRequestContext(requestInfo);
            BusinessContext.Context.Cache();
            LogRecorder.MonitorTrace($"Authorization:{user.ResultData.Account}");
            return(ErrorCode.Success);
        }