コード例 #1
0
        private Auth.CredentialHandler CredentialHandler()
        {
            if (_credentialHandler != null)
            {
                return(_credentialHandler);
            }

            if (radioButtonAuthBasic.Checked)
            {
                // We are using Basic auth (also covers NTLM, etc.)
                _credentialHandler          = new Auth.CredentialHandler(Auth.AuthType.Basic, _logger);
                _credentialHandler.Username = textBoxUsername.Text;
                _credentialHandler.Password = textBoxPassword.Text;
                _credentialHandler.Domain   = textBoxDomain.Text;
            }
            else
            {
                // OAuth
                _credentialHandler = new Auth.CredentialHandler(Auth.AuthType.OAuth, _logger);
                _credentialHandler.ApplicationId = textBoxApplicationId.Text;
                _credentialHandler.TenantId      = textBoxTenantId.Text;
                if (radioButtonAuthWithClientSecret.Checked)
                {
                    _credentialHandler.ClientSecret = textBoxClientSecret.Text;
                }
                else if (textBoxAuthCertificate.Tag != null)
                {
                    _credentialHandler.Certificate = (System.Security.Cryptography.X509Certificates.X509Certificate2)textBoxAuthCertificate.Tag;
                }
            }
            return(_credentialHandler);
        }
コード例 #2
0
        //private string _lastKnownAutodiscoverUrl = "";


        public Mailboxes(ClassLogger Logger, ITraceListener TraceListener = null, Auth.CredentialHandler CredentialHandler = null)
        {
            _logger            = Logger;
            _credentialHandler = CredentialHandler;
            _mailboxes         = new Dictionary <string, MailboxInfo>();
            _traceListener     = TraceListener;
            CreateAutodiscoverService();
        }
コード例 #3
0
 public GroupInfo(string Name, string PrimaryMailbox, string EWSUrl, Auth.CredentialHandler credentialHandler, ITraceListener TraceListener = null)
 {
     // initialise the group information
     _name           = Name;
     _primaryMailbox = PrimaryMailbox;
     _ewsUrl         = EWSUrl;
     _traceListener  = TraceListener;
     _mailboxes      = new List <String>();
     _mailboxes.Add(PrimaryMailbox);
     _credentialHandler = credentialHandler;
 }
コード例 #4
0
        private void CreateAutodiscoverService()
        {
            _autodiscover = new AutodiscoverService(ExchangeVersion.Exchange2013);  // Minimum version we need is 2013

            _autodiscover.RedirectionUrlValidationCallback = RedirectionCallback;
            if (_traceListener != null)
            {
                _autodiscover.TraceListener = _traceListener;
                _autodiscover.TraceFlags    = TraceFlags.All;
                _autodiscover.TraceEnabled  = true;
            }
            if (CredentialHandler != null)
            {
                _credentialHandler = CredentialHandler;
                _credentialHandler.ApplyCredentialsToAutodiscoverService(_autodiscover);
            }
        }
コード例 #5
0
 private void textBoxTenantId_TextChanged(object sender, EventArgs e)
 {
     _credentialHandler = null;
 }
コード例 #6
0
 private void textBoxApplicationId_TextChanged(object sender, EventArgs e)
 {
     _credentialHandler = null;
 }
コード例 #7
0
 private void textBoxClientSecret_TextChanged(object sender, EventArgs e)
 {
     _credentialHandler = null;
 }