示例#1
0
        /// <summary>
        /// Initialize the global authentication provider.
        /// </summary>
        private void InitializeGlobalProvider()
        {
            if (ProviderManager.Instance.GlobalProvider != null)
            {
                return;
            }

            // Provider config
            string clientId = "YOUR_CLIENT_ID_HERE";

            string[] scopes     = { "User.Read", "User.ReadBasic.All", "People.Read", "Calendars.Read", "Mail.Read", "Group.Read.All", "ChannelMessage.Read.All" };
            bool     autoSignIn = true;

            switch (_providerType)
            {
            // Mock provider
            case ProviderType.Mock:
                ProviderManager.Instance.GlobalProvider = new MockProvider(signedIn: autoSignIn);
                break;

            // Msal provider
            case ProviderType.Msal:
                ProviderManager.Instance.GlobalProvider = new MsalProvider(clientId: clientId, scopes: scopes, autoSignIn: autoSignIn);
                break;

            // Windows provider
            case ProviderType.Windows:
                var webAccountProviderConfig = new WebAccountProviderConfig(WebAccountProviderType.Msa, clientId);
                ProviderManager.Instance.GlobalProvider = new WindowsProvider(scopes, webAccountProviderConfig: webAccountProviderConfig, autoSignIn: autoSignIn);
                break;
            }
        }
        public MainPage()
        {
            this.InitializeComponent();
            TaskCollection = new ObservableCollection <TodoTask>();

            _clientId = "xxx";
            _scopes   = new string[] { "Tasks.ReadWrite" };

            var webAccountProviderConfig = new WebAccountProviderConfig(WebAccountProviderType.Msa, _clientId);
            var authProvider             = new WindowsProvider(_scopes, webAccountProviderConfig, autoSignIn: false);

            ProviderManager.Instance.GlobalProvider = authProvider;
        }