/// <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); }
/// <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); }
/// <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); }