public ExternalSharingRequest IsExternalSharingEnabled([FromBody] string value)
        {
            var _request = JsonConvert.DeserializeObject <ExternalSharingRequest>(value);

            _request.Success = false;

            try
            {
                AppOnlyAuthenticationTenant _auth = new AppOnlyAuthenticationTenant();
                _auth.TenantAdminUrl = _request.TenantAdminUrl;
                var _service = new Office365SiteProvisioningService();
                _service.Authentication         = _auth;
                _request.ExternalSharingEnabled = _service.IsTenantExternalSharingEnabled(_request.TenantAdminUrl);
                _request.Success = true;
                return(_request);
            }
            catch (Exception _ex)
            {
                _request.ErrorMessage = _ex.Message;
                OfficeDevPnP.Core.Diagnostics.Log.Error("ProvisioningController.IsExternalSharingEnabled",
                                                        "There was an error processing the request. Exception: {0}",
                                                        _ex);
                return(_request);
            }
        }
Esempio n. 2
0
        public void AuthenticationCanGetWebConfigurationIfEmpty()
        {
            var appOnlyAuth = new AppOnlyAuthenticationTenant();

            Assert.AreEqual <string>(TestConstants.EXPECTED_CLIENTID, appOnlyAuth.AppId);
            Assert.AreEqual <string>(TestConstants.EXPECTED_CLIENTSECRET, appOnlyAuth.AppSecret);
            Assert.AreEqual <string>(TestConstants.EXPECTED_TENANTADMINURL, appOnlyAuth.TenantAdminUrl);
        }
Esempio n. 3
0
        protected static void UsingTenantContext(Action <ClientContext> action)
        {
            var auth = new AppOnlyAuthenticationTenant();

            using (var context = auth.GetAuthenticatedContext())
            {
                action(context);
            }
        }
Esempio n. 4
0
        AppOnlyAuthenticationTenant CreateAppOnlyAuthenticationObject()
        {
            var _configFactory = ConfigurationFactory.GetInstance();
            var _manager       = _configFactory.GetAppSetingsManager();
            var _settings      = _manager.GetAppSettings();

            AppOnlyAuthenticationTenant target = new AppOnlyAuthenticationTenant()
            {
                TenantAdminUrl = _settings.TenantAdminUrl,
                AppId          = _settings.ClientID,
                AppSecret      = _settings.ClientSecret
            };

            return(target);
        }
Esempio n. 5
0
        public void AuthenticationCanUseAuthenticatedClientContextFromConfig()
        {
            var appOnlyAuth = new AppOnlyAuthenticationTenant();

            using (var ctx = appOnlyAuth.GetAuthenticatedContext())
            {
                var web = ctx.Web;
                ctx.Load(web);
                ctx.ExecuteQuery();
                Assert.IsNotNull(web.Title);
            }

            using (var ctx = appOnlyAuth.GetAuthenticatedContext())
            {
                var web = ctx.Web;
                ctx.Load(web);
                ctx.ExecuteQuery();
                Assert.IsNotNull(web.Title);
            }
        }
Esempio n. 6
0
 private SiteEditMetadata CheckSiteSharingCapabilities(SiteEditMetadata metadata)
 {
     try
     {
         AppOnlyAuthenticationTenant _auth = new AppOnlyAuthenticationTenant();
         _auth.TenantAdminUrl = metadata.TenantAdminUrl;
         var _service = new Office365SiteProvisioningService();
         _service.Authentication     = _auth;
         metadata.SiteSharingEnabled = _service.isSiteExternalSharingEnabled(metadata.Url);
         metadata.Success            = true;
         return(metadata);
     }
     catch (Exception _ex)
     {
         metadata.ErrorMessage = _ex.Message;
         OfficeDevPnP.Core.Diagnostics.Log.Error("SPMetadataManager.CheckTenantSharingCapabilities",
                                                 "There was an error processing the request. Exception: {0}",
                                                 _ex);
         return(metadata);
     }
 }
        public List <SitePolicyResults> GetSitePolicies()
        {
            var           _returnResults = new List <SitePolicyResults>();
            ConfigManager _manager       = new ConfigManager();

            AbstractSiteProvisioningService _siteService = new Office365SiteProvisioningService();
            var _auth = new AppOnlyAuthenticationTenant();

            _auth.SiteUrl = _manager.GetAppSettingsKey("SPHost");

            var _sitePolicies = _siteService.GetAvailablePolicies();

            foreach (var _sitePolicyEntity in _sitePolicies)
            {
                var _policy = new SitePolicyResults();
                _policy.Key   = _sitePolicyEntity.Name;
                _policy.Value = _sitePolicyEntity.Description;
                _returnResults.Add(_policy);
            }
            return(_returnResults);
        }
        public Models.SiteMetadata SetSiteMetadata([FromBody] string value)
        {
            ConfigManager _cfgmanager = new ConfigManager();
            var           _auth       = new AppOnlyAuthenticationTenant();

            _auth.TenantAdminUrl = _cfgmanager.GetAppSettingsKey("TenantAdminUrl");

            var _request = JsonConvert.DeserializeObject <Models.SiteMetadata>(value);

            _request.TenantAdminUrl = _auth.TenantAdminUrl;

            // Transform the request
            var _metadataRequest = ObjectMapper.ToSiteEditMetadata(_request);

            _metadataRequest.Success = false;

            try
            {
                IMetadataFactory _factory = MetadataFactory.GetInstance();
                IMetadataManager _manager = _factory.GetManager();
                var _metadataResponse     = _manager.SetSiteMetadata(_metadataRequest);
                _metadataResponse.Success = true;

                // Transform response
                var _response = ObjectMapper.ToSiteMetadata(_metadataResponse);
                return(_response);
            }
            catch (Exception _ex)
            {
                _request.ErrorMessage = _ex.Message;
                OfficeDevPnP.Core.Diagnostics.Log.Error("MetadataController.SetSiteMetadata",
                                                        "There was an error processing the request. Exception: {0}",
                                                        _ex);
                return(_request);
            }
        }