Exemple #1
0
        public void TestGetCredential()
        {
            var secretId = new Random().Next();
            var username = Guid.NewGuid().ToString();
            var password = Guid.NewGuid().ToString();
            var value    = new SecretModel
            {
                Items = new List <RestSecretItem>()
                {
                    new RestSecretItem {
                        Slug = "username", ItemValue = username
                    },
                    new RestSecretItem {
                        Slug = "password", ItemValue = password
                    }
                }
            };

            _clientFactory.GetClient(_context).ReturnsForAnyArgs(_client);
            _client.GetSecret(secretId).Returns(value);

            var secret = _secretSecureStore.GetCredentialsAsync(_serializedContext, secretId.ToString());

            Assert.AreEqual(username, secret?.Result.Username);
            Assert.AreEqual(password, secret?.Result.Password);
        }
        async public Task <IActionResult> OnPostAsync()
        {
            return(await SecureHandlerAsync(async() =>
            {
                await LoadCurrentApiResourceAsync(Input.ApiName);

                if (!String.IsNullOrWhiteSpace(Input.Secret))
                {
                    var secret = new SecretModel()
                    {
                        Type = Input.SecretType,
                        Value = Input.Secret.Trim().ToSha256(),
                        Description = $"{ Input.SecretDescription } (created { DateTime.Now.ToShortDateString() } { DateTime.Now.ToLongTimeString() })",
                        Expiration = Input.Expiration
                    };

                    List <SecretModel> clientSecrets = new List <SecretModel>();
                    if (this.CurrentApiResource.ApiSecrets != null)
                    {
                        clientSecrets.AddRange(this.CurrentApiResource.ApiSecrets);
                    }
                    clientSecrets.Add(secret);

                    this.CurrentApiResource.ApiSecrets = clientSecrets.ToArray();

                    await _resourceDb.UpdateApiResourceAsync(this.CurrentApiResource, new[] { "ApiSecrets" });
                }
            }
                                            , onFinally : () => RedirectToPage(new { id = Input.ApiName })
                                            , successMessage : "Secret successfully added"
                                            , onException : (ex) => RedirectToPage(new { id = Input.ApiName })));
        }
Exemple #3
0
        public DataResult <int> AddSecretToClient(int clientId, SecretModel secret)
        {
            var newSecret = new ClientSecretEntity
            {
                Value       = secret.Value,
                Description = secret.Description,
                Expiration  = secret.Expiration
            };

            try
            {
                var result = m_secretUoW.AddSecretToClient(clientId, newSecret);
                return(Success(result));
            }
            catch (NoResultException <ClientEntity> e)
            {
                m_logger.LogWarning(e);
                return(Error <int>(m_translator.Translate("invalid-client-id"), DataResultErrorCode.ClientNotExistId));
            }
            catch (DatabaseException e)
            {
                m_logger.LogWarning(e);
                return(Error <int>(e.Message));
            }
        }
Exemple #4
0
        public DataResult <int> AddSecretToApiResource(int apiResourceId, SecretModel secret)
        {
            var newSecret = new ApiSecretEntity
            {
                Value       = secret.Value,
                Description = secret.Description,
                Expiration  = secret.Expiration
            };

            try
            {
                var result = m_secretUoW.AddSecretToApiResource(apiResourceId, newSecret);
                return(Success(result));
            }
            catch (NoResultException <ApiResourceEntity> e)
            {
                m_logger.LogWarning(e);
                return(Error <int>(m_translator.Translate("invalid-api-resource-id"), DataResultErrorCode.ApiResourceNotExistId));
            }
            catch (DatabaseException e)
            {
                m_logger.LogWarning(e);
                return(Error <int>(e.Message));
            }
        }
        public IActionResult DeleteSecret(int id)
        {
            var secret = _configurationDbContext.Set <ApiSecret>()
                         .Include(x => x.ApiResource)
                         .FirstOrDefault(x => x.Id == id);

            return(View(SecretModel.FromEntity(secret)));
        }
        public IActionResult DeleteSecret(SecretModel model)
        {
            var api = _configurationDbContext.ApiResources
                      .Include(x => x.Secrets)
                      .FirstOrDefault(x => x.Id == model.ApiResourceId);
            var secret = api.Secrets.FirstOrDefault(x => x.Id == model.Id);

            api.Secrets.Remove(secret);
            _configurationDbContext.SaveChanges();

            return(RedirectToAction(nameof(Secrets), new { id = api.Id }));
        }
Exemple #7
0
        public IActionResult DeleteSecret(SecretModel model)
        {
            var client = _configurationDbContext.Clients
                         .Include(x => x.ClientSecrets)
                         .FirstOrDefault(x => x.Id == model.Client.Id);
            var secret = client.ClientSecrets.FirstOrDefault(x => x.Id == model.Id);

            client.ClientSecrets.Remove(secret);
            _configurationDbContext.SaveChanges();

            return(RedirectToAction(nameof(Secrets), new { id = client.Id }));
        }
        public async Task OnGetAsync(int id)
        {
            TenantId      = _sessionTenantAccessor.TenantId;
            ApiResourceId = id;


            Input = new SecretModel
            {
                Value            = _passwordGenerator.GeneratePassword(),
                SecretExpiration = "Never"
            };
        }
        public async Task OnGetAsync(int apiResourceId, int id)
        {
            TenantId = _sessionTenantAccessor.TenantId;
            ClientId = apiResourceId;
            SecretId = id;
            Secret   = await _adminServices.GetClientSecretByIdAsync(TenantId, ClientId, SecretId);

            Input = new SecretModel
            {
                CurrentExpiration = Secret.Expiration,
                SecretExpiration  = SecretModel.ExpirationTypes.DoNotChange
            };
        }
        public void Init()
        {
            _secretModel = new SecretModel
            {
                ApiKey            = _apiKey,
                ApiSecret         = _apiSecret,
                AccessToken       = _accessToken,
                AccessTokenSecret = _accessTokenSecret
            };

            _authorization = new Authorization(_secretModel);
            _httpClient    = new HttpClient();
        }
        public void CinemaControllerCheckSecretCode(SecretModel modelTest)
        {
            this.repository         = new GenericRepository <TblBookingSeat>();
            this.repositoryCustomer = new GenericRepository <TblCustomer>();
            this.repositoryErrorLog = new GenericRepository <TblErrorLog>();
            int    SeatNum    = modelTest.SeatNumber;
            string SecretCode = modelTest.SecretCode;

            CinemaController cinemaController = new CinemaController(repository, repositoryCustomer, repositoryErrorLog);
            JsonResult       result           = cinemaController.CheckSecretCode(SecretCode, SeatNum) as JsonResult;

            // Assert
            Assert.IsNotNull(result.Value);
        }
        public async Task <IActionResult> OnGetAsync(int apiResourceId, int id)
        {
            TenantId      = _sessionTenantAccessor.TenantId;
            ApiResourceId = apiResourceId;
            SecretId      = id;
            Secret        = await _adminServices.GetApiResourceSecretByIdAsync(TenantId, ApiResourceId, SecretId);

            if (Secret == null)
            {
                return(RedirectToPage("./Index", new { id = ApiResourceId }));
            }
            Input = new SecretModel
            {
                CurrentExpiration = Secret.Expiration,
                SecretExpiration  = SecretModel.ExpirationTypes.DoNotChange
            };
            return(Page());
        }
        public async Task <ActionResult> Create(SecretModel model)
        {
            if (!ModelState.IsValid)
            {
                return(this.View(model));
            }

            using (var entities = new PenEntities())
            {
                var user = await entities.Users.FirstAsync(x => x.Name == User.Identity.Name);

                user.Secrets.Add(new Secret()
                {
                    Description = model.Description,
                    Text        = model.Text
                });
                await entities.SaveChangesAsync();
            }

            return(RedirectToAction("List"));
        }
Exemple #14
0
 public JwtHelper(RequestDelegate next, IOptions <SecretModel> conf)
 {
     _next = next;
     _conf = conf.Value;
 }
Exemple #15
0
 public Authorization(SecretModel secret)
 {
     Secret = secret;
 }
 public UserService(IOptions <SecretModel> appSettings)
 {
     _config = appSettings.Value;
 }
        public async Task <SearchTweetsExtModel> Get([FromUri] string query)
        {
            query += " AND -RT";

            var secretModel = new SecretModel
            {
                ApiKey            = _apiKey,
                ApiSecret         = _apiSecret,
                AccessToken       = _accessToken,
                AccessTokenSecret = _accessTokenSecret
            };

            var authorization = new Authorization(secretModel);
            var httpClient    = new HttpClient();

            var uri =
                new Uri(string.Format("{0}?{1}", Urls.SearchTweets,
                                      string.Format("q={0}&count=5", HttpUtility.UrlEncode(query))));

            var authHeader = authorization.GetHeader(uri);

            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("OAuth", authHeader);

            var request = new HttpRequestMessage
            {
                RequestUri = uri,
                Method     = HttpMethod.Get
            };

            var responseMessage = await httpClient.SendAsync(request).ConfigureAwait(false);

            var response = await responseMessage.Content.ReadAsStringAsync().ConfigureAwait(false);

            var jObject      = JObject.Parse(response);
            var searchTweets = JsonConvert.DeserializeObject <SearchTweetsExtModel>(jObject.ToString());

            foreach (var status in searchTweets.statuses)
            {
                var alchemyUrl =
                    string.Format(
                        "http://access.alchemyapi.com/calls/text/TextGetTextSentiment?showSourceText=1&outputMode=json&apikey={0}&text={1}", status.text, _alchemyApiKey);


                var alchemyRequest = new HttpRequestMessage
                {
                    RequestUri = new Uri(alchemyUrl),
                    Method     = HttpMethod.Get
                };

                var httpClient2            = new HttpClient();
                var alchemyResponseMessage = await httpClient2.SendAsync(alchemyRequest).ConfigureAwait(false);

                var alchemyResponse = await alchemyResponseMessage.Content.ReadAsStringAsync().ConfigureAwait(false);

                var jAlchemyObject = JObject.Parse(alchemyResponse);
                var sentiment      = JsonConvert.DeserializeObject <Sentiment>(jAlchemyObject.ToString());

                status.sentiment_score = Convert.ToDouble(sentiment.docSentiment.score);
                status.positive        = (status.sentiment_score > 0);
            }

            return(searchTweets);
        }
Exemple #18
0
        public async Task <ObjectResultModule> TencentCosAccessTokenType([FromBody] SecretModel file)
        {
            if (!Commons.CheckSecret(file.Secret))
            {
                this.ObjectResultModule.StatusCode = 422;
                this.ObjectResultModule.Message    = "Wrong Secret";
                this.ObjectResultModule.Object     = "";
                return(this.ObjectResultModule);
            }
            var param = new SystemParameterIn()
            {
                Type = "ConfigPar"
            };

            param.AndAlso(t => !t.IsDelete);
            var Totaltypelist = await _systemParameterService.ParameterList(param);

            //var param = new SystemParameterIn() { Type = "ConfigPar" };
            //  param.AndAlso(t => !t.IsDelete && t.SystemCode == "UploadType");
            var typelist = Totaltypelist.FindAll(t => t.SystemCode == "UploadType");

            //var mediaparam = new SystemParameterIn() { Type = "ConfigPar" };
            //mediaparam.AndAlso(t => !t.IsDelete && t.SystemCode == "MediaType");
            var medialist = Totaltypelist.FindAll(t => t.SystemCode == "MediaType");

            //var detailparam = new SystemParameterIn() { Type = "ConfigPar" };
            //detailparam.AndAlso(t => !t.IsDelete && t.SystemCode == "FileTypeDetail");
            var detaillist = Totaltypelist.FindAll(t => t.SystemCode == "FileTypeDetail");

            //var documentparam = new SystemParameterIn() { Type = "ConfigPar" };
            //documentparam.AndAlso(t => !t.IsDelete && t.SystemCode == "DocumentsUse");
            var documentlist = Totaltypelist.FindAll(t => t.SystemCode == "DocumentsUse");

            var imagethumnaillist = Totaltypelist.FindAll(t => t.SystemCode == "ImageThumNail");

            var coderesult = new List <CodeList>();

            foreach (var item in typelist)
            {
                var newcode = new CodeList()
                {
                    Code = item.Code, Value = item.Name, Type = item.SystemType, TypeCode = item.SystemCode
                };
                coderesult.Add(newcode);
            }
            var mediatype = new List <CodeList>();

            foreach (var item in medialist)
            {
                var mediacode = new CodeList()
                {
                    Code = item.Code, Value = item.Name, Type = item.SystemType, TypeCode = item.SystemCode
                };
                mediatype.Add(mediacode);
            }
            var typedetail = new List <CodeList>();

            foreach (var item in detaillist)
            {
                var detailcode = new CodeList()
                {
                    Code = item.Code, Value = item.Name, Type = item.SystemType, TypeCode = item.SystemCode
                };
                typedetail.Add(detailcode);
            }
            var documentdetail = new List <CodeList>();

            foreach (var item in documentlist)
            {
                var detailcode = new CodeList()
                {
                    Code = item.Code, Value = item.Name, Type = item.SystemType, TypeCode = item.SystemCode
                };
                documentdetail.Add(detailcode);
            }
            var imagethumnail = new List <CodeList>();

            foreach (var item in imagethumnaillist)
            {
                var detailcode = new CodeList()
                {
                    Code = item.Code, Value = item.ItemValue, Type = item.SystemType, TypeCode = item.SystemCode
                };
                imagethumnail.Add(detailcode);
            }

            var param1 = new DoctorParaSetIn();

            param1.AndAlso(t => !t.IsDelete);
            var Totalpara = await _doctorParaSetService.DoctorParaSetList(param1);

            //var paramlen = new SystemParameterIn() { SystemType = "ConsultationReplyLength" };
            //var paramlenlist = await _systemParameterService.ParameterList(paramlen);
            var maxReplyLength = int.Parse(Totalpara.Find(t => t.DoctorParaSetCode == "ConsultationReplyLength").ItemValue);//最大追问数

            //var paramlen1 = new SystemParameterIn() { SystemType = "ConsultationContentLength" };
            //var paramlenlist1 = await _systemParameterService.ParameterList(paramlen1);
            var maxConsultationLength = int.Parse(Totalpara.Find(t => t.DoctorParaSetCode == "ConsultationContentLength").ItemValue); //最大咨询数

            var maxReplyMaxLength = int.Parse(Totalpara.Find(t => t.DoctorParaSetCode == "ReplyMaxLength").ItemValue);                //最大回复字数
            //paramlen1 = new SystemParameterIn() { SystemType = "ConsultationImageCount" };
            //paramlenlist1 = await _systemParameterService.ParameterList(paramlen1);
            var ConsultationImageCount = int.Parse(Totalpara.Find(t => t.DoctorParaSetCode == "ConsultationImageCount").ItemValue);//咨询上传图片数

            //paramlen1 = new SystemParameterIn() { SystemType = "ConsultationImagesize" };
            //paramlenlist1 = await _systemParameterService.ParameterList(paramlen1);
            var ConsultationImagesize = double.Parse(Totalpara.Find(t => t.DoctorParaSetCode == "ConsultationImagesize").ItemValue);//图片大小

            //paramlen1 = new SystemParameterIn() { SystemType = "VideoCount" };
            //paramlenlist1 = await _systemParameterService.ParameterList(paramlen1);
            var VideoCount = int.Parse(Totalpara.Find(t => t.DoctorParaSetCode == "VideoCount").ItemValue);//视频数

            //paramlen1 = new SystemParameterIn() { SystemType = "VideoSize" };
            //paramlenlist1 = await _systemParameterService.ParameterList(paramlen1);
            var VideoSize = double.Parse(Totalpara.Find(t => t.DoctorParaSetCode == "VideoSize").ItemValue);//视频大小


            this.ObjectResultModule.Object     = new FileAllType(coderesult, mediatype, typedetail, documentdetail, imagethumnail, maxReplyLength, maxConsultationLength, maxReplyMaxLength, ConsultationImageCount, ConsultationImagesize, VideoCount, VideoSize);
            this.ObjectResultModule.StatusCode = 200;
            this.ObjectResultModule.Message    = "";
            return(this.ObjectResultModule);
        }
        public async Task <ObjectResultModule> DoctorSchedulingType([FromBody] SecretModel secret)
        {
            if (!Commons.CheckSecret(secret.Secret))
            {
                this.ObjectResultModule.StatusCode = 422;
                this.ObjectResultModule.Message    = "Wrong Secret";
                this.ObjectResultModule.Object     = "";
                return(this.ObjectResultModule);
            }
            var userid = _IabpSession.UserId > 0 ? (int)_IabpSession.UserId : 0;
            var param  = new SystemParameterIn()
            {
                Type = "ConfigPar"
            };

            param.AndAlso(t => !t.IsDelete && t.SystemCode == "DoctorSchedulingTime");
            var paramlist = await _systemParameterService.ParameterList(param);

            var timelist = new List <CodeList>();

            foreach (var item in paramlist)
            {
                var newcode = new CodeList()
                {
                    Code = item.Code, Value = item.Name, Type = item.SystemType, TypeCode = item.SystemCode
                };
                timelist.Add(newcode);
            }
            param = new SystemParameterIn()
            {
                Type = "ConfigPar"
            };
            param.AndAlso(t => !t.IsDelete && t.SystemCode == "DoctorSchedulingType");
            paramlist = await _systemParameterService.ParameterList(param);

            var typelist = new List <CodeList>();

            foreach (var item in paramlist)
            {
                var newcode = new CodeList()
                {
                    Code = item.Code, Value = item.Name, Type = item.SystemType, TypeCode = item.SystemCode
                };
                typelist.Add(newcode);
            }
            param = new SystemParameterIn()
            {
                Type = "ConfigPar"
            };
            param.AndAlso(t => !t.IsDelete && t.SystemCode == "DoctorSchedulingState");
            paramlist = await _systemParameterService.ParameterList(param);

            var statelist = new List <CodeList>();

            foreach (var item in paramlist)
            {
                var newcode = new CodeList()
                {
                    Code = item.Code, Value = item.Name, Type = item.SystemType, TypeCode = item.SystemCode
                };
                statelist.Add(newcode);
            }
            this.ObjectResultModule.Object     = new DoctorSchedulingType(timelist, typelist, statelist);
            this.ObjectResultModule.StatusCode = 200;
            this.ObjectResultModule.Message    = "success";
            #region 操作日志
            var CreateYaeherOperList = new YaeherOperList()
            {
                OperExplain = "DoctorSchedulingType",
                OperContent = JsonHelper.ToJson(secret),
                OperType    = "DoctorSchedulingType",
                CreatedBy   = userid,
                CreatedOn   = DateTime.Now
            };
            var resultLog = await _yaeherOperListService.CreateYaeherOperList(CreateYaeherOperList);

            #endregion

            return(this.ObjectResultModule);
        }
        async public Task <IActionResult> OnPostAsync()
        {
            return(await SecureHandlerAsync(async() =>
            {
                await LoadCurrentClientAsync(Input.ClientId);

                var inputSecret = Input.Secret.Trim();

                switch (Input.SecretType)
                {
                case IdentityServerConstants.SecretTypes.SharedSecret:
                    inputSecret = inputSecret.Sha256();
                    break;

                case IdentityServerConstants.SecretTypes.X509CertificateBase64:
                    inputSecret = inputSecret.ParseCertBase64String();
                    break;

                case IdentityServerLegacyConstants.SecretTypes.SecretsVaultSecret:
                    try
                    {
                        var secretsVersion = await _secretsVaultManager.GetSecretVersion(inputSecret);
                        if (secretsVersion == null)
                        {
                            throw new StatusMessageException($"Secret with path { inputSecret } not exits in secrets vault");
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new StatusMessageException(ex.Message);
                    }

                    break;

                default:
                    throw new Exception("Unknown secret type");
                }

                if (!String.IsNullOrWhiteSpace(Input.Secret))
                {
                    var secret = new SecretModel()
                    {
                        Type = Input.SecretType,
                        Value = inputSecret,
                        Description = $"{ Input.SecretDescription } (created { DateTime.Now.ToShortDateString() } { DateTime.Now.ToLongTimeString() })",
                        Expiration = Input.Expiration
                    };

                    List <SecretModel> clientSecrets = new List <SecretModel>();
                    if (this.CurrentClient.ClientSecrets != null)
                    {
                        clientSecrets.AddRange(this.CurrentClient.ClientSecrets);
                    }
                    clientSecrets.Add(secret);

                    this.CurrentClient.ClientSecrets = clientSecrets.ToArray();
                    await _clientDb.UpdateClientAsync(this.CurrentClient, new[] { "ClientSecrets" });
                }
            }
                                            , onFinally : () => RedirectToPage(new { id = Input.ClientId })
                                            , successMessage : "Secrets updated successfully"));
        }