public async Task <string> CreateTeamSiteCollectionAsync(TeamSiteCollectionRequest request)
        {
            var X509Cert    = GetX509Certificate2();
            var accessToken = await graphClientApi.AcquireTokenAsync(X509Cert);

            using var authmanager = new AuthenticationManager();
            using var context     = authmanager.GetAzureADAppOnlyAuthenticatedContext(
                      AppConfigurations.SpoUrlAdmin,
                      AppConfigurations.ClientID,
                      AppConfigurations.TenantID,
                      X509Cert);

            var teamSiteCollection = new TeamSiteCollectionCreationInformation
            {
                Alias       = request.Alias,
                DisplayName = request.DisplayName,
                Description = request.Description,
                Lcid        = (uint)request.Language,
                Owners      = request.Owners == null || request.Owners.Length == 0
                    ? new[] { AppConfigurations.SpoUserAdmin }
                    : request.Owners
            };

            await SiteCollection.CreateTeamSiteViaGraphAsync(context, teamSiteCollection, noWait : true, graphAccessToken : accessToken);

            return($"{AppConfigurations.SpoUrl}/sites/{request.Alias}");
        }