public override async Task <object> Resolve(KeyVaultActiveDirectoryApplicationId value)
        {
            var password = _passwordPolicy.GetPassword();

            var applicationCreateParametersInner = new ApplicationCreateParametersInner
            {
                DisplayName    = value.ClientName,
                Homepage       = $"https://{value.ClientName}",
                IdentifierUris = new List <string> {
                    $"https://{value.ClientName}"
                },
                PasswordCredentials =
                    new List <PasswordCredential>
                {
                    new PasswordCredential {
                        EndDate = DateTime.Now.AddYears(1000), Value = password
                    }
                }
            };

            var application = await _context.Graph.Applications.CreateAsync(applicationCreateParametersInner);

            _context.Values.Add(new KeyVaultActiveDirectoryApplicationSecret(value.ClientName), password);

            return(application.AppId);
        }