private async Task LoadSecrets()
        {
            System.Console.WriteLine(nameof(LoadSecrets));
            System.Console.WriteLine($"BuildConfig using {CurrentContext}");
            var clientConfig = _config.CreateClientConfiguration(CurrentContext);

            System.Console.WriteLine("Create client...");
            var client = new Kubernetes(clientConfig);

            System.Console.WriteLine("Starting request...");
            var secrets = await client.ListSecretForAllNamespacesWithHttpMessagesAsync();

            System.Console.WriteLine("Request complete.");
            if (secrets.Response.IsSuccessStatusCode)
            {
                foreach (var secret in secrets.Body.Items)
                {
                    var svm = new SecretViewModel
                    {
                        Namespace = secret.Metadata.NamespaceProperty,
                        Name      = secret.Metadata.Name,
                    };
                    Secrets.Add(svm);
                }
            }
        }
예제 #2
0
        public IActionResult Secret()
        {
            var model = new SecretViewModel
            {
                Users = _userRepository.GetAll()
            };

            return(View(model));
        }
예제 #3
0
        public ActionResult Secret()
        {
            var db = new AuthDb(Properties.Settings.Default.ConStr);
            var vm = new SecretViewModel
            {
                User = db.GetByEmail(User.Identity.Name)
            };

            return(View(vm));
        }
예제 #4
0
        public async Task <ActionResult> Secret(string clientId)
        {
            var model = new SecretViewModel()
            {
                ClientId         = clientId,
                OpenClientSecret = Guid.NewGuid().ToString()
            };

            return(View(model));
        }
예제 #5
0
        public async Task <ActionResult> Secret(SecretViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var    adminStore            = new IdentityServer3AdminStore();
            var    myCrypto              = new TripleDesEncryption(model.PassCode);
            var    protectedClientSecret = myCrypto.Encrypt(model.OpenClientSecret);
            Secret secret = null;

            if (string.Compare(model.SecretType, "SharedSecret", StringComparison.OrdinalIgnoreCase) == 0)
            {
                var hashedClientSecret = model.OpenClientSecret.Sha256();
                secret = new Secret(hashedClientSecret)
                {
                    Type = model.SecretType
                };
                ProtectedSecretHandle protectedSecretHandle = new ProtectedSecretHandle()
                {
                    ClientId       = model.ClientId,
                    Value          = hashedClientSecret,
                    ProtectedValue = protectedClientSecret
                };
                await adminStore.AddSecretProtectedValue(protectedSecretHandle);
            }
            if (string.Compare(model.SecretType, "X509Thumbprint", StringComparison.OrdinalIgnoreCase) == 0)
            {
                secret = new Secret(model.ThumbPrint)
                {
                    Type = model.SecretType
                };
            }

            var secrets = new List <Secret> {
                secret
            };
            await adminStore.AddClientSecretsToClientAsync(model.ClientId, secrets);

            return(RedirectToAction("Index"));
        }
예제 #6
0
        public async Task <IActionResult> Secret()
        {
            //var token = await HttpContext.GetTokenAsync("access_token");
            //_httpClient.DefaultRequestHeaders.Add("Authorization", $"Baerer {token}");
            //var serverResponse = await _httpClient.GetAsync($"https://localhost:44318/secret/index?access_token={token}");
            //var apiResponse = await _httpClient.GetAsync("https://localhost:44317/api/secret");

            var token = await HttpContext.GetTokenAsync("access_token");

            var serverResponse = await AccessTokenRefreshWrapper(
                () => SecuredGetRequest($"https://localhost:44318/secret/index"));

            var apiResponse = await AccessTokenRefreshWrapper(
                () => SecuredGetRequest("https://localhost:44317/api/secret"));

            var secretViewModel = new SecretViewModel
            {
                ApiMessage    = await serverResponse.Content.ReadAsStringAsync(),
                ServerMessage = await apiResponse.Content.ReadAsStringAsync()
            };

            return(View(secretViewModel));
        }
 public IActionResult Secret(int id, [FromQuery] string query, [FromBody] SecretViewModel secret, [FromHeader] string secretValue)
 {
     return(Content($"Route: {id}, Query: {query}, Body: {secret.Key}, Header: {secretValue}"));
 }
예제 #8
0
        public async Task <IActionResult> Init(SecretViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                if (viewModel.Secret != Shared.Authorization.SECRET)
                {
                    return(Unauthorized());
                }

                await Register(new RegisterViewModel
                {
                    Email           = "*****@*****.**",
                    FirstName       = "Pete",
                    LastName        = "Townshend",
                    Password        = "******",
                    ConfirmPassword = "******"
                });
                await Register(new RegisterViewModel
                {
                    Email           = "*****@*****.**",
                    FirstName       = "Roger",
                    LastName        = "Daltrey",
                    Password        = "******",
                    ConfirmPassword = "******"
                });
                await Register(new RegisterViewModel
                {
                    Email           = "*****@*****.**",
                    FirstName       = "Keith",
                    LastName        = "Moon",
                    Password        = "******",
                    ConfirmPassword = "******"
                });
                await Register(new RegisterViewModel
                {
                    Email           = "*****@*****.**",
                    FirstName       = "John",
                    LastName        = "Entwistle",
                    Password        = "******",
                    ConfirmPassword = "******"
                });
                await Register(new RegisterViewModel
                {
                    Email           = "*****@*****.**",
                    FirstName       = "Jimmi",
                    LastName        = "Hendrix",
                    Password        = "******",
                    ConfirmPassword = "******"
                });
                await Register(new RegisterViewModel
                {
                    Email           = "*****@*****.**",
                    FirstName       = "Geddy",
                    LastName        = "Lee",
                    Password        = "******",
                    ConfirmPassword = "******"
                });
                await Register(new RegisterViewModel
                {
                    Email           = "*****@*****.**",
                    FirstName       = "Neil",
                    LastName        = "Peart",
                    Password        = "******",
                    ConfirmPassword = "******"
                });
                await Register(new RegisterViewModel
                {
                    Email           = "*****@*****.**",
                    FirstName       = "Alex",
                    LastName        = "Lifeson",
                    Password        = "******",
                    ConfirmPassword = "******"
                });
                await Register(new RegisterViewModel
                {
                    Email           = "*****@*****.**",
                    FirstName       = "Freddie",
                    LastName        = "Mercury",
                    Password        = "******",
                    ConfirmPassword = "******"
                });

                //List<int> tokens = new List<int>();
                //await context?.ToConfirms.ForEachAsync(tc => tokens.Add(tc.Token));
                //foreach (var token in tokens) await ConfirmEmail(token);

                return(Ok());
            }
            return(BadRequest());
        }