public static CookieContainer GetCookies(string url, PSCredential credential)
        {
            if (credential == null || string.IsNullOrEmpty(credential.UserName) ||
                credential.Password == null || credential.Password.Length == 0)
            {
                throw new ArgumentException(
                          "Explicit credentials are needed to connect to Office 365.");
            }
            var credentials = credential.GetCredentials();
            var helper      = new MsOnlineClaimsHelper(credential.UserName,
                                                       credential.Password.ToInsecureString(), url);

            return(helper.CookieContainer);
        }
Example #2
0
        internal static T GetService <T>(string url, PSCredential credential, int timeout)
            where T : SoapHttpClientProtocol, new()
        {
            var name    = typeof(T).Name;
            var service = new T();

            service.Url = PathUtility.JoinPath(url, "_vti_bin", name + ".asmx");
            if (credential != null)
            {
                service.Credentials = credential.GetCredentials();
            }
            else
            {
                service.UseDefaultCredentials = true;
            }
            if (timeout > 0)
            {
                service.Timeout = timeout;
            }
            return((T)service);
        }