/// <summary> /// 创建合法用户的Token /// </summary> /// <param name="userId">用户Id</param> /// <param name="passWord">用户密码</param> /// <param name="signature">加密签名字符串</param> /// <param name="timestamp">时间戳</param> /// <param name="nonce">随机数</param> /// <param name="appid">应用接入ID</param> /// <returns>OperatedResult</returns> protected virtual ApiResult <IdentityToken> CreateIdentityToken(string userId, string passWord, string signature, string timestamp, string nonce, Guid appid) { #region 参数检查 var checkResult = CheckRequest(userId, passWord, signature, timestamp, nonce, appid); if (!checkResult.State) { return(ApiResult <IdentityToken> .Fail(checkResult.Message)); } #endregion #region 用户鉴权 var getIdentityUser = GetIdentityUser(userId, passWord); if (!getIdentityUser.State) { return(ApiResult <IdentityToken> .Fail(getIdentityUser.Message)); } #endregion #region 请求通道检查 var getAppConfig = AppCfgService.Get(appid); if (!getAppConfig.State) { return(ApiResult <IdentityToken> .Fail(getAppConfig.Message)); } var appConfig = getAppConfig.Data; #endregion #region 检查请求签名检查 var checkSignatureResult = ApiAuthorize.CheckRequestSignature(signature, timestamp, nonce, appConfig); if (!checkSignatureResult.State) { return(ApiResult <IdentityToken> .Fail(checkSignatureResult.Message)); } #endregion #region 生成基于Jwt Token var getTokenResult = ApiAuthorize.CreateIdentityToken(getIdentityUser.Data, getAppConfig.Data); if (!getTokenResult.State) { return(ApiResult <IdentityToken> .Fail(getTokenResult.Message)); } return(ApiResult <IdentityToken> .Success(getTokenResult.Data)); #endregion }
/// <summary> /// 验证Token令牌是否合法 /// </summary> /// <param name="token">令牌</param> /// <param name="appid">应用ID</param> /// <returns>CheckResult</returns> protected virtual OperatedResult <string> CheckIdentityToken(string token, Guid appid) { #region 请求参数检查 var checkResult = CheckRequest(token, appid); if (!checkResult.State) { return(OperatedResult <string> .Fail(checkResult.Message)); } #endregion #region 请求通道检查 var getAppConfig = AppCfgService.Get(appid); if (!getAppConfig.State) { return(OperatedResult <string> .Fail(getAppConfig.Message)); } var appConfig = getAppConfig.Data; #endregion return(ApiAuthenticate.CheckIdentityToken(token, appConfig)); }
public TransactionResult <AppConfig> Get(int id) { TransactionResult <AppConfig> result = new TransactionResult <AppConfig>(); var serviceResult = AppConfigService.Get(id); if (serviceResult.ActionResult & serviceResult.HavingData) { result.Data = serviceResult.Data; } else { result.Code = 103; result.Message = "暂无数据"; } return(result); }