summaryrefslogtreecommitdiffstats
path: root/samples/OAuthConsumer/Twitter.aspx.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2009-04-08 16:57:43 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2009-04-08 16:57:43 -0700
commit06be5f37394ff4da99cc5571f58684829bbc0a98 (patch)
treec8c302a87e18169697c8e2e48842358c3d520395 /samples/OAuthConsumer/Twitter.aspx.cs
parentd9c0ee017807cc17132e9c760d274afffc9b981c (diff)
downloadDotNetOpenAuth-06be5f37394ff4da99cc5571f58684829bbc0a98.zip
DotNetOpenAuth-06be5f37394ff4da99cc5571f58684829bbc0a98.tar.gz
DotNetOpenAuth-06be5f37394ff4da99cc5571f58684829bbc0a98.tar.bz2
Rewrote the Google and Twitter consumer samples to be more presentable once configured.
Diffstat (limited to 'samples/OAuthConsumer/Twitter.aspx.cs')
-rw-r--r--samples/OAuthConsumer/Twitter.aspx.cs35
1 files changed, 13 insertions, 22 deletions
diff --git a/samples/OAuthConsumer/Twitter.aspx.cs b/samples/OAuthConsumer/Twitter.aspx.cs
index 550ed4a..a4fb0cb 100644
--- a/samples/OAuthConsumer/Twitter.aspx.cs
+++ b/samples/OAuthConsumer/Twitter.aspx.cs
@@ -13,19 +13,19 @@ using DotNetOpenAuth.OAuth;
public partial class Twitter : System.Web.UI.Page {
private string AccessToken {
- get { return (string)ViewState["AccessToken"]; }
- set { ViewState["AccessToken"] = value; }
+ get { return (string)Session["TwitterAccessToken"]; }
+ set { Session["TwitterAccessToken"] = value; }
}
private InMemoryTokenManager TokenManager {
get {
- var tokenManager = (InMemoryTokenManager)Session["TokenManager"];
+ var tokenManager = (InMemoryTokenManager)Application["TwitterTokenManager"];
if (tokenManager == null) {
string consumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"];
string consumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"];
if (!string.IsNullOrEmpty(consumerKey)) {
tokenManager = new InMemoryTokenManager(consumerKey, consumerSecret);
- Session["TokenManager"] = tokenManager;
+ Application["TwitterTokenManager"] = tokenManager;
}
}
@@ -34,33 +34,24 @@ public partial class Twitter : System.Web.UI.Page {
}
protected void Page_Load(object sender, EventArgs e) {
- if (!IsPostBack) {
- if (this.TokenManager != null) {
- InMemoryTokenManager tokenManager = (InMemoryTokenManager)Session["TokenManager"];
- var twitter = new WebConsumer(TwitterConsumer.ServiceDescription, tokenManager);
+ if (this.TokenManager != null) {
+ MultiView1.ActiveViewIndex = 1;
+ if (!IsPostBack) {
+ var twitter = new WebConsumer(TwitterConsumer.ServiceDescription, this.TokenManager);
+
+ // Is Twitter calling back with authorization?
var accessTokenResponse = twitter.ProcessUserAuthorization();
if (accessTokenResponse != null) {
- // User has approved access
- MultiView1.ActiveViewIndex = 1;
-
this.AccessToken = accessTokenResponse.AccessToken;
+ } else if (this.AccessToken == null) {
+ // If we don't yet have access, immediately request it.
+ twitter.Channel.Send(twitter.PrepareRequestUserAuthorization());
}
- } else {
- MultiView1.ActiveViewIndex = 2;
}
}
}
- protected void authorizeButton_Click(object sender, EventArgs e) {
- if (!Page.IsValid) {
- return;
- }
-
- var twitter = new WebConsumer(TwitterConsumer.ServiceDescription, this.TokenManager);
- twitter.Channel.Send(twitter.PrepareRequestUserAuthorization());
- }
-
protected void downloadUpdates_Click(object sender, EventArgs e) {
var twitter = new WebConsumer(TwitterConsumer.ServiceDescription, this.TokenManager);
XPathDocument updates = new XPathDocument(TwitterConsumer.GetUpdates(twitter, AccessToken).CreateReader());