Пример #1
0
        private void OnAuthoirzeDialogClick(object sender, RoutedEventArgs e)
        {
            AccessTokenTextBlock.Text = string.Empty;

            string scope   = "public_profile,email";
            string fbAppId = "{facebook app id}";
            string appId   = WebAuthenticationBroker.GetCurrentApplicationCallbackUri().OriginalString;
            string request = $"https://www.facebook.com/v2.6/dialog/oauth?client_id={fbAppId}&redirect_uri={appId}&response_type=token&scope={scope}&display=popup";

            OAuthDialog oauthdialog = new OAuthDialog();

            oauthdialog.AuthorizeRedirectChanged += (o, a) =>
            {
                int idx = a.IndexOf("access_token");

                if (idx > 0)
                {
                    string[] data = a.Split(new string[] { "#" }, StringSplitOptions.RemoveEmptyEntries);
                    Dictionary <string, string> returnData = data[1].Split(new[] { '&' }, StringSplitOptions.RemoveEmptyEntries)
                                                             .Select(part => part.Split('='))
                                                             .ToDictionary(split => split[0], split => split[1]);
                    AccessTokenTextBlock.Text = returnData["access_token"];
                }
                else
                {
                    AccessTokenTextBlock.Text = a;
                }
            };

            oauthdialog.AuthorizeUrl = request;

            oauthdialog.Show();
        }
Пример #2
0
        public override void Execute(object parameter)
        {
            var dlg = new OAuthDialog();
            bool? result = dlg.ShowDialog();

            if (result.HasValue == result.Value)
                Client.CheckAuthorization();
        }