Ejemplo n.º 1
0
        public async Task <Dictionary <int, ObservableCollection <Models.NewKeyModel> > > GetNewKeyList()
        {
            Dictionary <int, ObservableCollection <Models.NewKeyModel> > newKeys = new Dictionary <int, ObservableCollection <NewKeyModel> >();

            string content = string.Empty;

            try
            {
                content = await _httpService.SendRequestForString(KISSSUB_NEW_FAN, HttpMethod.Get, Encoding.UTF8);
            }
            catch (Exception e)
            {
                throw new NetworkException("网络请求异常:" + e.Message);
            }
            var list = content.Split(new string[] { "\r\n" }, StringSplitOptions.None);

            for (int i = 0; i < list.Count(); i++)
            {
                ObservableCollection <Models.NewKeyModel> newKeysModels = new ObservableCollection <NewKeyModel>();
                var keys = list[i].Split(',');
                for (int j = 1; j < keys.Count(); j++)
                {
                    var onekey = keys[j].Split('|');

                    Models.NewKeyModel model = new NewKeyModel {
                        Key = onekey[0], Value = Uri.UnescapeDataString(onekey[1])
                    };
                    newKeysModels.Add(model);
                }
                newKeys.Add(i, newKeysModels);
            }

            return(newKeys);
        }
        public async Task <IActionResult> PostAddKeyAsync(NewKeyModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("AddKey", model));
            }

            var sessionId = _membership.GetSessionId(HttpContext.User);
            var user      = await _persistence.Users.GetUserBySessionIdAsync(sessionId);

            var generatedKey = _membership.GenerateAPIKey(user.Id);
            var result       = await _membership.AddAuthenticationAsync(user.Id, "APIKey", generatedKey, model.Name);

            var resultModel = new UserAuthenticationModel()
            {
                Id           = result.Id,
                Identity     = result.Identity,
                Name         = result.Name,
                CreationTime = result.CreationTime
            };

            return(View("ShowKey", resultModel));
        }
Ejemplo n.º 3
0
        public ActionResult CreateKey(NewKeyModel newKeyModel)
        {
            if (string.IsNullOrWhiteSpace(newKeyModel.Passphrase))
            {
                ViewBag.Passphrase         =
                    newKeyModel.Passphrase = PronounceablePasswordGenerator.Generate(14);
            }
            else
            {
                ViewBag.Passphrase = "*******";
            }

            var request = CryptoKey.CreateRequestWithPassPhrase(newKeyModel.Passphrase);

            request.LockDate = newKeyModel.LockDate;
            if (newKeyModel.ReleaseDate != null)
            {
                request.ReleaseDate = (DateTime)newKeyModel.ReleaseDate;
            }
            request.DeleteKeyAfterReading      = newKeyModel.DeleteKeyAfterReading;
            request.DeleteMessagesAfterReading = newKeyModel.DeleteMessagesAfterReading;

            if (!string.IsNullOrWhiteSpace(newKeyModel.NotifyEmail))
            {
                request.Notifications.Add(new Notification()
                {
                    Email = newKeyModel.NotifyEmail
                });
            }

            if (newKeyModel.LockDate == null)
            {
                newKeyModel.LockDate = DateTime.Now.AddDays(30);
            }
            requestRepository.AddRequest(request);
            return(View("NewKeyDetails", request));
        }
        public IActionResult AddKey()
        {
            var model = new NewKeyModel();

            return(View("AddKey", model));
        }