public async Task <object> Get(string signature, string timestamp, string nonce, string echostr, [FromServices] IKeyValuesEntityService keyValueService) { if (signature == null || timestamp == null || nonce == null) { throw new Exception(); } var token = await keyValueService.GetValue(ServerKeys.WxValidateToken.Key); if (string.IsNullOrWhiteSpace(token)) { throw new Exception(); } if (!CheckSignature(signature, token, timestamp, nonce)) { throw new Exception(); } if (echostr != null) { return(echostr); } throw new NotImplementedException(); }
private async Task <IQueryable <File> > FilterPrivate(IQueryable <File> items, ServerCallContext context) { //todo: permission via filetype: File->Adm, Resource->Login var readPrivate = (await _userService.GetUser(context.GetHttpContext())).HasReadPrivatePermission(); if (!readPrivate) { var defStr = await _keyValueService.GetValue(ServerKeys.DefaultPrivate.Key); var defPrivate = defStr == "true"; if (defPrivate) { items = items.Where(i => i.Private == (ulong)PrivateType.Public); } else { items = items.Where(i => i.Private != (ulong)PrivateType.Private); } } return(items); }