diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2009-06-07 15:11:10 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2009-06-07 15:11:10 -0700 |
commit | f0784bf1caaa835162dc1bd920787f092a0d3ef4 (patch) | |
tree | c401c66550076702ceccd5df888565bf7a42033f /samples/OAuthConsumerWpf/Authorize.xaml.cs | |
parent | 8c2790bc66818c13cc9842a1c6250f3eee5ebca5 (diff) | |
download | DotNetOpenAuth-f0784bf1caaa835162dc1bd920787f092a0d3ef4.zip DotNetOpenAuth-f0784bf1caaa835162dc1bd920787f092a0d3ef4.tar.gz DotNetOpenAuth-f0784bf1caaa835162dc1bd920787f092a0d3ef4.tar.bz2 |
OAuthConsumerWpf now works with OAuth 1.0a as well.
Diffstat (limited to 'samples/OAuthConsumerWpf/Authorize.xaml.cs')
-rw-r--r-- | samples/OAuthConsumerWpf/Authorize.xaml.cs | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/samples/OAuthConsumerWpf/Authorize.xaml.cs b/samples/OAuthConsumerWpf/Authorize.xaml.cs new file mode 100644 index 0000000..26e5abc --- /dev/null +++ b/samples/OAuthConsumerWpf/Authorize.xaml.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; +using System.Threading; +using DotNetOpenAuth.OAuth; +using DotNetOpenAuth.ApplicationBlock; +using System.Xml.Linq; + +namespace DotNetOpenAuth.Samples.OAuthConsumerWpf { + /// <summary> + /// Interaction logic for Authorize.xaml + /// </summary> + partial class Authorize : Window { + private DesktopConsumer google; + private string requestToken; + + internal string AccessToken { get; set; } + + internal Authorize(DesktopConsumer consumer) { + InitializeComponent(); + + this.google = consumer; + Cursor original = this.Cursor; + this.Cursor = Cursors.Wait; + ThreadPool.QueueUserWorkItem(delegate(object state) { + Uri browserAuthorizationLocation = GoogleConsumer.RequestAuthorization( + this.google, + GoogleConsumer.Applications.Contacts | GoogleConsumer.Applications.Blogger, + out this.requestToken); + System.Diagnostics.Process.Start(browserAuthorizationLocation.AbsoluteUri); + this.Dispatcher.BeginInvoke(new Action(() => { + this.Cursor = original; + finishButton.IsEnabled = true; + })); + }); + + } + + private void finishButton_Click(object sender, RoutedEventArgs e) { + var grantedAccess = this.google.ProcessUserAuthorization(this.requestToken, verifierBox.Text); + this.AccessToken = grantedAccess.AccessToken; + DialogResult = true; + Close(); + } + + private void cancelButton_Click(object sender, RoutedEventArgs e) { + DialogResult = false; + Close(); + } + } +} |