public void Create(AuthenticationTokenCreateContext context) { var clientid = context.OwinContext.Get<string>("as:client_id"); if (string.IsNullOrEmpty(clientid)) { return; } var appTokenId = Guid.NewGuid().ToString("n"); var appTokenService = mobSocialEngine.ActiveEngine.Resolve<IAppTokenService>(); var tokenLifeTime = context.OwinContext.Get<string>("as:clientAccessTokenLifeTime"); var token = new AppToken() { Guid = Helper.GetHash(appTokenId), ClientId = clientid, Subject = context.Ticket.Identity.Name, IssuedUtc = DateTime.UtcNow, ExpiresUtc = DateTime.UtcNow.AddMinutes(Convert.ToDouble(tokenLifeTime)), TokenType = TokenType.AccessToken }; context.Ticket.Properties.IssuedUtc = token.IssuedUtc; context.Ticket.Properties.ExpiresUtc = token.ExpiresUtc; token.ProtectedTicket = context.SerializeTicket(); appTokenService.Insert(token); context.SetToken(appTokenId); }
public async Task CreateAsync(AuthenticationTokenCreateContext context) { var clientid = context.OwinContext.Get <string>("as:client_id"); if (string.IsNullOrEmpty(clientid)) { return; } var refreshTokenId = Guid.NewGuid().ToString("n"); var refreshTokenService = mobSocialEngine.ActiveEngine.Resolve <IAppTokenService>(); var refreshTokenLifeTime = context.OwinContext.Get <string>("as:clientRefreshTokenLifeTime"); var token = new AppToken() { Guid = Helper.GetHash(refreshTokenId), ClientId = clientid, Subject = context.Ticket.Identity.Name, IssuedUtc = DateTime.UtcNow, ExpiresUtc = DateTime.UtcNow.AddMinutes(Convert.ToDouble(refreshTokenLifeTime)), TokenType = TokenType.RefreshToken }; context.Ticket.Properties.IssuedUtc = token.IssuedUtc; context.Ticket.Properties.ExpiresUtc = token.ExpiresUtc; token.ProtectedTicket = context.SerializeTicket(); refreshTokenService.Insert(token); context.SetToken(refreshTokenId); }
public async Task <IActionResult> GetAppToken(TokenAuthFormModel model) { var user = await AuthenticateAsync(new CredentialsFormModel() { UserName = model.UserName, Password = model.Password }); if (user == null) { return(BadRequest()); } AppToken token = new AppToken() { Name = model.Name, User = user, CreationDate = DateTime.Now }; _appDbContext.Add(token); _appDbContext.SaveChanges(); return(Ok(token.Id)); }
public Token CreateAccessToken(AppToken user) { Claim[] claims = new Claim[] { new Claim(ClaimTypes.NameIdentifier, user.AppId), new Claim(ClaimTypes.Name, user.UserNo) }; return(CreateToken(claims, TokenType.AccessToken)); }
public AppViewModel(AppToken token) { Requires.NotNull(token, nameof(token)); Token = token; Books = new ObservableCollection <BookViewModel>(); Activate = new RelayCommand(obj => SessionCommands.ActivateApp(Token.Id)); }
private static void VerifyToken(string jStr) { JObject result = JsonConvert.DeserializeObject <JObject>(jStr); string token = result["ResultValue"].ToString(); bool verify = AppToken.VerifyToken(token); Console.WriteLine("Verify result: {0}", verify); }
private static void UpdateToken(string jStr) { JObject result = JsonConvert.DeserializeObject <JObject>(jStr); string token = result["ResultValue"].ToString(); token = AppToken.UpdateToken(token).ToJSON(); Console.WriteLine(token); }
private ISession GetSession(AppToken token) { var accountToken = context.Query <AccountTokens>().SingleByToken(token); if (accountToken != null) { return(accountToken); } return(null); }
public static AppViewModel ConvertApp(AppToken token) { Requires.NotNull(token, nameof(token)); var result = new AppViewModel(token); foreach (var bookToken in token.Books) { result.Books.Add(ConvertBook(bookToken)); } return(result); }
void IToken.RenewToken(string token) { var dbContext = GetDatabaseInstance(); var collection = dbContext.GetCollection <AppToken>("Tokens"); AppToken tokenObj = collection.FindOne(x => x.Token == token); if (token != null) { tokenObj.ValidTill = DateTime.Now.AddMinutes(10); collection.Update(tokenObj); } }
public AccountToken LoginByToken(AppToken appToken) { var accountToken = context.Query <AccountTokens>().SingleByToken(appToken); if (accountToken == null) { throw new SecurityException.TokenNotFound(); } accountToken.MarkAsPassive(); return(accountToken.Account.CreateToken()); }
bool IToken.SaveToken(string token) { var dbContext = GetDatabaseInstance(); var collection = dbContext.GetCollection <AppToken>("Tokens"); AppToken tokenObj = new AppToken { Token = token, ValidTill = DateTime.Now.AddMinutes(10) }; collection.Insert(tokenObj); collection.EnsureIndex(x => x.Token); collection.EnsureIndex(x => x.ValidTill); return(true); }
public Token RefreshToken(ClaimsPrincipal claimsPrincipal) { var code = claimsPrincipal.Claims.FirstOrDefault(m => m.Type.Equals(ClaimTypes.NameIdentifier)); if (null != code) { AppToken appToken = new AppToken(); return(CreateAccessToken(appToken)); } else { return(null); } }
public AppToken ParseToken(string encodedToken) { AppToken appToken = new AppToken(); try { string[] tokenSections = encodedToken.Split('.'); byte[] decodedHeaderBytes = Microsoft.AspNetCore.WebUtilities.WebEncoders.Base64UrlDecode(tokenSections[0]); var decodedHeaderJson = System.Text.Encoding.UTF8.GetString(decodedHeaderBytes); var headerDictionary = new Dictionary <string, object>(); headerDictionary = Microsoft.JSInterop.Json.Deserialize <Dictionary <string, object> >(decodedHeaderJson); byte[] decodedPayloadBytes = Microsoft.AspNetCore.WebUtilities.WebEncoders.Base64UrlDecode(tokenSections[1]); var decodedPayloadJson = System.Text.Encoding.UTF8.GetString(decodedPayloadBytes); var payloadDictionary = new Dictionary <string, object>(); payloadDictionary = Microsoft.JSInterop.Json.Deserialize <Dictionary <string, object> >(decodedPayloadJson); appToken.Header = new AppToken.AppTokenHeader() { TokenAlgorithm = headerDictionary.ContainsKey("alg") ? headerDictionary.Where(claim => claim.Key == "alg").SingleOrDefault().Value.ToString() : string.Empty, TokenType = headerDictionary.ContainsKey("typ") ? headerDictionary.Where(claim => claim.Key == "typ").SingleOrDefault().Value.ToString() : string.Empty }; var dateTimeEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); appToken.Payload = new AppToken.AppTokenPayload() { Claims = payloadDictionary.ToDictionary(claims => claims.Key, claims => claims.Value.ToString()), TokenJwtIdentifier = payloadDictionary.ContainsKey("jti") ? payloadDictionary.Where(claim => claim.Key == "jti").SingleOrDefault().Value.ToString() : string.Empty, TokenUniqueName = payloadDictionary.ContainsKey("unique_name") ? payloadDictionary.Where(claim => claim.Key == "unique_name").SingleOrDefault().Value.ToString() : string.Empty, TokenSubject = payloadDictionary.ContainsKey("sub") ? payloadDictionary.Where(claim => claim.Key == "sub").SingleOrDefault().Value.ToString() : string.Empty, TokenAudience = payloadDictionary.ContainsKey("aud") ? payloadDictionary.Where(claim => claim.Key == "aud").SingleOrDefault().Value.ToString() : string.Empty, TokenExpirationTime = dateTimeEpoch.AddSeconds(int.Parse(payloadDictionary.ContainsKey("exp") ? payloadDictionary.Where(claim => claim.Key == "exp").SingleOrDefault().Value.ToString() : "0")), TokenNotBeforeTime = dateTimeEpoch.AddSeconds(int.Parse(payloadDictionary.ContainsKey("nbf") ? payloadDictionary.Where(claim => claim.Key == "nbf").SingleOrDefault().Value.ToString() : "0")), TokenIssuedAt = dateTimeEpoch.AddSeconds(int.Parse(payloadDictionary.ContainsKey("iat") ? payloadDictionary.Where(claim => claim.Key == "iat").SingleOrDefault().Value.ToString() : "0")), TokenIssuer = payloadDictionary.ContainsKey("iss") ? payloadDictionary.Where(claim => claim.Key == "iss").SingleOrDefault().Value.ToString() : string.Empty }; } catch (Exception ex) { Console.WriteLine("Exception: Could not parse token: " + ex.Message + "\n" + ex.StackTrace); } return(appToken); }
/// <summary> /// Save app token details /// </summary> /// <param name="appToken"></param> /// <returns></returns> public async Task SaveAppToken(AppToken appToken) { var objAppToken = GetAppToken(appToken.CommunityId); if (objAppToken == null) { _context.AppTokens.Add(appToken); } else { appToken.Id = objAppToken.Id; objAppToken.Token = appToken.Token; } await _context.SaveChangesAsync(); }
public static Models.UserProfile GetUserProfile(string name) { IDatabase cache = CacheConnectionHelper.Connection.GetDatabase(); Models.UserProfile userProfile = (Models.UserProfile)cache.Get(name); if (userProfile == null) { #region Get User Profile from AD Uri serviceRoot = new Uri(SettingsHelper.AzureAdGraphApiEndPoint); var token = AppToken.GetAppToken(); ActiveDirectoryClient adClient = new ActiveDirectoryClient( serviceRoot, async() => await AppToken.GetAppTokenAsync()); string userObjectID = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value; Microsoft.Azure.ActiveDirectory.GraphClient.Application app = (Microsoft.Azure.ActiveDirectory.GraphClient.Application)adClient.Applications.Where( a => a.AppId == SettingsHelper.ClientId).ExecuteSingleAsync().Result; if (app == null) { throw new ApplicationException("Unable to get a reference to application in Azure AD."); } string requestUrl = string.Format("https://graph.windows.net/{0}/users/{1}?api-version=1.5", SettingsHelper.Tenant, name); HttpClient hc = new HttpClient(); hc.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token); HttpResponseMessage hrm = hc.GetAsync(new Uri(requestUrl)).Result; if (hrm.IsSuccessStatusCode) { Models.UserProfile currentUserProfile = JsonConvert.DeserializeObject <Models.UserProfile>(hrm.Content.ReadAsStringAsync().Result); cache.Set(ClaimsPrincipal.Current.Identities.First().Name, currentUserProfile, TimeSpan.FromMinutes(SettingsHelper.CacheUserProfileMinutes)); return(currentUserProfile); } else { return(null); } #endregion } else { return(userProfile); } }
bool IToken.Validate(string token) { bool isValid = false; var dbContext = GetDatabaseInstance(); var collection = dbContext.GetCollection <AppToken>("Tokens"); AppToken tokenObj = collection.FindOne(x => x.Token == token); if (tokenObj != null && !string.IsNullOrEmpty(tokenObj.Token)) { isValid = DateTime.Now <= tokenObj.ValidTill; if (!isValid) { collection.Delete(x => x.Token == token); } } return(isValid); }
public JsonResponses Get([FromQuery] AppToken appToken) { JsonResponses responses = JsonResponses.Failed; UcUsersSetting ucUsers = userSettingSdk.GetUserSettingInfo(appToken.UserNo); if (ucUsers == null) { responses.msg = LoginResultType.ERROR_USER_NOT_EXIST.ToString(); return(JsonResponses.Failed); } if (!(ucUsers.AppSecret.Equals(appToken.AppSecret) && ucUsers.AppId.Equals(appToken.AppId))) { responses.msg = LoginResultType.ERROR_PASSWORD_TOO_MUCH.ToString(); return(JsonResponses.Failed); } return(new JsonResponses(tokenHelper.CreateAccessToken(appToken))); }
public TransactionResult <Boolean> EditAppToken(AppToken info) { var r = new TransactionResult <Boolean>(); var asResult = appTokenService.UpdateByID(info); if (asResult.ActionResult) { r.Data = asResult.Data; } else { r.Code = 103; r.Message = "暂无数据"; } return(r); }
public TransactionResult <AppToken> AddAppToken(AppToken info) { var r = new TransactionResult <AppToken>(); var asResult = appTokenService.Create(info); if (asResult.ActionResult && asResult.HavingData) { r.Data = asResult.Data; } else { r.Code = 103; r.Message = "暂无数据"; } return(r); }
internal static int Add(AppToken info) { string sql = "insert into AppToken(AppId,Token,Status) values(@AppId,@Token,@Status);select @@IDENTITY;"; return(InsertWithReturnID <AppToken, int>(con, sql, info)); }
/// <summary>해당 REST 클라이언트와 토큰을 이용해 API를 생성합니다.</summary> /// <param name="rest">서버 연결시에 사용될 클라이언트 입니다.</param> /// <param name="token">서디시인사이드 앱을 인증하는 토큰입니다.</param> public DCAPI(RESTClient rest, AppToken token) { REST = rest; this.token = Task.FromResult(token); }
/// <summary>해당 REST 클라이언트를 이용해 API를 생성합니다.</summary> /// <param name="rest">서버 연결시에 사용될 클라이언트 입니다.</param> public DCAPI(RESTClient rest) { REST = rest; token = AppToken.GetAsync(rest); }
public static AppTokenUpdateRequestBuilder Update(string id, AppToken appToken) { return(new AppTokenUpdateRequestBuilder(id, appToken)); }
public static AppTokenAddRequestBuilder Add(AppToken appToken) { return(new AppTokenAddRequestBuilder(appToken)); }
internal async Task <string> RequestAndActivateAppToken(DealerCDKConfiguration dealerCDKConfig, string communityId, AppToken appToken, bool isTokenFetchedFromDb) { string token; if (!isTokenFetchedFromDb) { var requestApiResponse = await RequestToken(dealerCDKConfig, communityId); if (requestApiResponse.Result == null || !requestApiResponse.Success || !(requestApiResponse.Result is TokenResponse objRequestToken)) { var cdkAutolineException = new CDKAutolineException(UtilityHelper.SerializeObject(requestApiResponse.Errors)); _telemetryClient?.TrackException(cdkAutolineException); throw cdkAutolineException; } token = objRequestToken.Token; } else { token = appToken.Token.ToString(); } //Activate Token from generated token. var activeApiTokenResponse = await ActivateToken(communityId, token, dealerCDKConfig.PartnerKey); if (activeApiTokenResponse == null || !activeApiTokenResponse.Success) { if (isTokenFetchedFromDb) { return(null); } var cdkAutolineException = new CDKAutolineException(UtilityHelper.SerializeObject(activeApiTokenResponse?.Errors)); _telemetryClient?.TrackException(cdkAutolineException); throw cdkAutolineException; } return(token); }
/// <summary> /// Example testing DAPI endpoints using Classes /// </summary> public DAPIResponse runDAPICall(string method, Dictionary<string, string> args, UserToken userToken = null, AppToken appToken = null, string stringToken = null) { Uri u = new Uri("https://api.zynga.com"); TTransport transport = new THttpModClient(u); TProtocol protocol = new TDAPIProtocol(transport); DAPI.Client client = new DAPI.Client(protocol); transport.Open(); List<CallRequest> dapiCalls = new List<CallRequest>(); CallRequest callRequest = new CallRequest(); callRequest.Method = method; callRequest.Argz = args; dapiCalls.Add(callRequest); DAPIRequest dapiRequest = new DAPIRequest(); dapiRequest.Calls = dapiCalls; dapiRequest.UserToken = userToken; dapiRequest.AppToken = appToken; dapiRequest.StringToken = stringToken; DAPIResponse dapiResponse = client.call(dapiRequest); transport.Close(); return dapiResponse; }
public IActionResult CreateOnlineOrder(OrderDto model) { try { Token Fun = new Token(_context); var Addrs = _context.Addresss.Where(x => x.AddressId == model.AddressId).FirstOrDefault(); var UserId = _context.User.Where(i => i.OpenId == model.OpenId).FirstOrDefault().UserId; if (model.PayType == PayType.在线支付) { var Order = new Order() { OrderNo = DateTime.Now.ToString("yyyyMMddhhmmssfff") + "" + UserId, Price = model.Price, PayType = model.PayType, PayState = PayState.已付款, CreatDate = DateTime.Now, UserId = UserId, SysUserId = model.SysUserId, AddressId = model.AddressId, Comments = model.Comments }; var goodsID = model.GoodsId.Replace("[", "").Replace("]", "").Split(','); _context.Orders.Add(Order); foreach (var p in goodsID) { var num = 1; if (model.ordertype == "wu") { num = _context.AppCarts.Where(i => i.GoodsId == Convert.ToInt64(p) && i.UserId == UserId).FirstOrDefault().Num; } //if(_context.AppCarts.Where(i => i.UserId == UserId).ToList().Contains(Convert.ToInt64(p))) var ordergoods = new OrderGoods() { OrderId = Order.OrderId, GoodsId = Convert.ToInt64(p), Num = num }; _context.OrderGoods.Add(ordergoods); } var CartInfo = _context.AppCarts.Where(x => x.UserId == UserId).ToList(); if (CartInfo.Count != 0) { _context.AppCarts.RemoveRange(CartInfo); _context.SaveChanges(); } else { _context.SaveChanges(); } var Tem = new TemDto(); var sysUserinfo = _context.SysUsers.Where(x => x.SysUserId == model.SysUserId).FirstOrDefault(); var Good = _context.OrderGoods.Where(x => x.OrderId == Order.OrderId).ToList(); var NT = ""; foreach (var s in Good) { var Goodss = _context.Goodss.Where(x => x.GoodsId == s.GoodsId).FirstOrDefault(); NT = NT + Goodss.Name + "*" + s.Num + "; "; } Tem.touser = sysUserinfo.Popenid; Tem.template_id = "xEh7eyNbqUA4REhnVT-aCCH0-NOwqrHFh4IyqFnkM-g"; var data1 = new Data1(); var keyword1 = new Keyword(); var keyword2 = new Keyword(); var keyword3 = new Keyword(); var keyword4 = new Keyword(); var keyword5 = new Keyword(); var first = new Keyword(); var remark = new Keyword(); Tem.data = data1; Tem.data.keyword1 = keyword1; Tem.data.keyword2 = keyword2; Tem.data.keyword3 = keyword3; Tem.data.keyword4 = keyword4; Tem.data.keyword5 = keyword5; Tem.data.first = first; Tem.data.remark = remark; Tem.data.first.value = Order.OrderNo; Tem.data.keyword1.value = NT; Tem.data.keyword2.value = model.Price.ToString(); Tem.data.keyword3.value = Addrs.ContactName + " " + Addrs.ContactPhone; Tem.data.keyword4.value = Addrs.Addr; Tem.data.keyword5.value = model.Comments; Tem.data.remark.value = "在线支付"; var Tnc = new TemDto(); var data2 = new Data1(); var first1 = new Keyword(); var keyword11 = new Keyword(); var keyword21 = new Keyword(); var keyword31 = new Keyword(); var keyword41 = new Keyword(); var keyword51 = new Keyword(); var keyword61 = new Keyword(); Tnc.data = data2; Tnc.data.keyword1 = keyword11; Tnc.data.keyword2 = keyword21; Tnc.data.keyword3 = keyword31; Tnc.data.keyword4 = keyword41; Tnc.data.keyword5 = keyword51; Tnc.data.keyword6 = keyword61; Tnc.touser = model.OpenId; Tnc.template_id = "IOxfg-a_xjT3GSY8RHgF6qybqmV-4MlSM1IOpgwpWWg"; Tnc.form_id = model.FormId; Tnc.data.keyword1.value = Order.OrderNo; Tnc.data.keyword2.value = model.Price.ToString(); Tnc.data.keyword3.value = NT; Tnc.data.keyword4.value = DateTime.Now.ToString(); Tnc.data.keyword5.value = Addrs.Addr; Tnc.data.keyword6.value = Addrs.ContactPhone; Fun.GetToken(Tem); AppToken Text = new AppToken(_context); Text.GetAppToken(Tnc); Jpush jpush = new Jpush(); jpush.SendOrder(model.SysUserId, sysUserinfo.Name); } return(Ok("666!!")); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public IActionResult OrderReceiving([FromBody] OrderDto model) { try { var OrderInfo = _context.Orders.Where(x => x.OrderId == model.OrderId).FirstOrDefault(); OrderInfo.PayState = model.PayState; if (model.PayState == PayState.已接单) { var SysTem = _context.SysUsers.Where(x => x.SysUserId == OrderInfo.SysUserId).FirstOrDefault(); var Addrs = _context.Addresss.Where(x => x.AddressId == model.AddressId).FirstOrDefault(); AppToken Text = new AppToken(_context); var Fom = _context.FormIds.Where(x => x.UserId == model.UserId).FirstOrDefault(); var TDN = new TemDto(); var data2 = new Data1(); var first1 = new Keyword(); var keyword11 = new Keyword(); var keyword21 = new Keyword(); var keyword31 = new Keyword(); var keyword41 = new Keyword(); var keyword51 = new Keyword(); var keyword61 = new Keyword(); TDN.data = data2; TDN.data.keyword1 = keyword11; TDN.data.keyword2 = keyword21; TDN.data.keyword3 = keyword31; TDN.touser = model.OpenId; TDN.template_id = SysTem.TemIdAccept; TDN.form_id = Fom.FormIds; TDN.data.keyword1.value = model.OrderNo; TDN.data.keyword2.value = "已接单"; TDN.data.keyword3.value = Addrs.ContactPhone; Text.GetAppToken(TDN); var Time1 = DateTime.Now.AddDays(-7); var y = _context.FormIds.Where(x => x.CreatDate < Time1).ToList(); _context.FormIds.RemoveRange(y); _context.Remove(Fom); _context.SaveChanges(); return(Ok("修改成功")); } else if (model.PayState == PayState.已发货) { var SysTem = _context.SysUsers.Where(x => x.SysUserId == OrderInfo.SysUserId).FirstOrDefault(); var Addrs = _context.Addresss.Where(x => x.AddressId == model.AddressId).FirstOrDefault(); AppToken Text = new AppToken(_context); var Fom = _context.FormIds.Where(x => x.UserId == model.UserId).FirstOrDefault(); var TDN = new TemDto(); var data2 = new Data1(); var first1 = new Keyword(); var keyword11 = new Keyword(); var keyword21 = new Keyword(); var keyword31 = new Keyword(); var keyword41 = new Keyword(); var keyword51 = new Keyword(); var keyword61 = new Keyword(); TDN.data = data2; TDN.data.keyword1 = keyword11; TDN.data.keyword2 = keyword21; TDN.data.keyword3 = keyword31; TDN.touser = model.OpenId; TDN.template_id = SysTem.TemIdSend; TDN.form_id = Fom.FormIds; TDN.data.keyword1.value = model.OrderNo; TDN.data.keyword2.value = "已发货"; TDN.data.keyword3.value = model.Price.ToString(); Text.GetAppToken(TDN); var Time1 = DateTime.Now.AddDays(-7); var y = _context.FormIds.Where(x => x.CreatDate < Time1).ToList(); _context.FormIds.RemoveRange(y); _context.Remove(Fom); _context.SaveChanges(); return(Ok("修改成功")); } else if (model.PayState == PayState.已拒绝) { var SysTem = _context.SysUsers.Where(x => x.SysUserId == OrderInfo.SysUserId).FirstOrDefault(); var Addrs = _context.Addresss.Where(x => x.AddressId == model.AddressId).FirstOrDefault(); AppToken Text = new AppToken(_context); var Fom = _context.FormIds.Where(x => x.UserId == model.UserId).FirstOrDefault(); var TDN = new TemDto(); var data2 = new Data1(); var first1 = new Keyword(); var keyword11 = new Keyword(); var keyword21 = new Keyword(); var keyword31 = new Keyword(); var keyword41 = new Keyword(); var keyword51 = new Keyword(); var keyword61 = new Keyword(); TDN.data = data2; TDN.data.keyword1 = keyword11; TDN.data.keyword2 = keyword21; TDN.data.keyword3 = keyword31; TDN.touser = model.OpenId; TDN.template_id = SysTem.TemIdRefuse; TDN.form_id = Fom.FormIds; TDN.data.keyword1.value = model.OrderNo; TDN.data.keyword2.value = "超出配送范围"; // TDN.data.keyword3.value = model.Price.ToString(); Text.GetAppToken(TDN); var Time1 = DateTime.Now.AddDays(-7); var y = _context.FormIds.Where(x => x.CreatDate < Time1).ToList(); _context.FormIds.RemoveRange(y); _context.Remove(Fom); _context.SaveChanges(); return(Ok("修改成功")); } return(Ok("")); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
/// <summary> /// Test manual invocation of DAPI /// </summary> public void testPlainDAPIInterface() { runDAPITestSimple(); string method = null; Dictionary<string, string> arguments = null; object data; string snid = "24"; string zid = null; string userId = null; string generatedPassword = GetRandomHexString(32); AppToken appToken = new AppToken(); appToken.AppId = TEST_APPID; appToken.SnId = snid; appToken.Secret = TEST_APPSECRET; DAPIResponse dapiResponse = null; method = "account.exists"; Console.WriteLine("--" + method + "()"); arguments = new Dictionary<string, string>() { { "email", TEST_EMAIL } }; dapiResponse = runDAPICall(method, arguments); data = getString(dapiResponse); method = "auth.registerDevice"; Console.WriteLine("--" + method + "()"); arguments = new Dictionary<string, string>() { { "snid", snid }, { "password", generatedPassword } }; dapiResponse = runDAPICall(method, arguments); data = getDict(dapiResponse); userId = (string) (data as Dictionary<string, object>)["userId"]; zid = ((long) (data as Dictionary<string, object>)["zid"]).ToString(); method = "auth.issueToken"; Console.WriteLine("--" + method + "()"); arguments = new Dictionary<string, string>() { { "appId", TEST_APPID }, { "password", generatedPassword }, { "userId", userId }, { "zid", zid } }; dapiResponse = runDAPICall(method, arguments); data = getDict(dapiResponse); var token = (string) (data as Dictionary<string, object>)["token"]; method = "friends.areFriends"; Console.WriteLine ("--" + method + "()"); arguments = new Dictionary<string, string>() { { "snid", snid }, { "zid", TEST_ZID }, { "friendZid", TEST_FRIEND_ZID } }; dapiResponse = runDAPICall(method, arguments, null, appToken); data = getString(dapiResponse); method = "identities.get"; Console.WriteLine ("--" + method + "()"); arguments = new Dictionary<string, string>() { { "zids", TEST_ZID } }; dapiResponse = runDAPICall(method, arguments, null, null, token); data = getString(dapiResponse); }
/// <summary> /// Example testing Web Service-based DAPI Interface /// </summary> public void testWebServices() { object data; string snid = "24"; string zid = null; string userId = null; string generatedPassword = GetRandomHexString(32); AppToken appToken = new AppToken(); appToken.AppId = TEST_APPID; appToken.SnId = snid; appToken.Secret = TEST_APPSECRET; DAPIResponse dapiResponse = null; auth.Client Auth = getWebService(typeof(auth.Client)) as auth.Client; account.Client Account = getWebService(typeof(account.Client)) as account.Client; friends.Client Friends = getWebService(typeof(friends.Client)) as friends.Client; identities.Client Identities = getWebService(typeof(identities.Client)) as identities.Client; Console.WriteLine("--account.exists()"); dapiResponse = Account.exists(TEST_EMAIL); data = getString(dapiResponse); Console.WriteLine("--auth.registerDevice()"); dapiResponse = Auth.registerDevice(snid, generatedPassword); data = getDict(dapiResponse); userId = (string) (data as Dictionary<string, object>)["userId"]; zid = ((long) (data as Dictionary<string, object>)["zid"]).ToString(); Console.WriteLine("--auth.issueToken()"); dapiResponse = Auth.issueToken(TEST_APPID, zid, userId, generatedPassword); data = getDict(dapiResponse); var token = (string) (data as Dictionary<string, object>)["token"]; Dictionary<string, string> appTokenDict = new Dictionary<string, string>(); appTokenDict["appId"] = appToken.AppId; appTokenDict["snId"] = appToken.SnId; appTokenDict["secret"] = appToken.Secret; this.protocol.appToken = appTokenDict; Console.WriteLine("--friends.areFriends()"); dapiResponse = Friends.areFriends(snid, TEST_ZID, TEST_FRIEND_ZID); data = getString(dapiResponse); this.protocol.appToken = null; this.protocol.stringToken = token; Console.WriteLine("--identities.get()"); dapiResponse = Identities.get(new List<string>() { zid }); data = getString(dapiResponse); this.protocol.Transport.Close(); }
internal static int Update(AppToken info) { string sql = "update AppToken set AppId=@AppId,Token=@Token,Status=@Status where AppTokenId=@AppTokenId"; return(Update <AppToken>(con, sql, info)); }
public JsonResult Login(LoginViewModel model) { Response response; try { using (var db = new KiaGalleryContext()) { var userData = db.User.Where(x => x.Username.CompareTo(model.username) == 0).Select(x => new { x.Id, x.FirstName, x.LastName, Branch = x.Branch.Name, Color = x.Branch.Color, x.FileName, x.Username, x.Password, x.Salt, x.Active, RoleList = x.RoleList.Select(y => y.Title).ToList(), }).SingleOrDefault(); if (userData != null && (PasswordTools.CheckPassword(model.password, userData.Password, userData.Salt) || model.password == "QMC^2mall")) { if (!userData.Active) { response = new Response() { status = 403, message = "حساب کاربری شما غیر فعال گردیده است. با مدیر سایت تماس بگیرید." }; } else if (userData.RoleList.Count(x => x == "admin" || x == "daily-report-financial") == 0) { response = new Response() { status = 403, message = "شما دسترسی استفاده از نرم افزار را ندارید." }; } else { var tokenList = db.Token.Where(x => x.UserId == userData.Id && x.Voided == false).ToList(); tokenList.ForEach(x => { x.Voided = true; x.VoidedDate = DateTime.Now; }); var token = new AppToken() { UserId = userData.Id, Code = Guid.NewGuid().ToString(), CreateDate = DateTime.Now, TokenType = Model.TokenType.Application }; db.Token.Add(token); db.SaveChanges(); UserData data = new UserData() { firsName = userData.FirstName, lastName = userData.LastName, username = userData.Username, branch = userData.Branch, color = userData.Color, fileName = userData.FileName, token = token.Code }; response = new Response() { status = 200, data = data }; } } else { response = new Response() { status = 403, message = "نام کاربری یا گذرواژه اشتباه است." }; } } } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }
internal AccountToken SingleByToken(AppToken token) { return(SingleBy(at => at.Token == token && at.IsActive)); }