summaryrefslogtreecommitdiffstats
path: root/src/OAuth/OAuthClient/WindowsLive.aspx.cs
diff options
context:
space:
mode:
authorDavid Christiansen <coding@davedoes.net>2012-06-30 16:06:46 -0700
committerDavid Christiansen <coding@davedoes.net>2012-06-30 16:06:46 -0700
commit06401bb049dc29cf4446eb61a4a72317a644ce54 (patch)
tree7c475929350b31b4b848a1faa57bd0d7cbbf512c /src/OAuth/OAuthClient/WindowsLive.aspx.cs
parent02ce959db12fec57e846e5ebfa662cd0327ce69c (diff)
parent3286c37f3a967e7d142534df84604a66be9d176c (diff)
downloadDotNetOpenAuth.Samples-06401bb049dc29cf4446eb61a4a72317a644ce54.zip
DotNetOpenAuth.Samples-06401bb049dc29cf4446eb61a4a72317a644ce54.tar.gz
DotNetOpenAuth.Samples-06401bb049dc29cf4446eb61a4a72317a644ce54.tar.bz2
Merge pull request #1 from DavidChristiansen/master
Kachow!
Diffstat (limited to 'src/OAuth/OAuthClient/WindowsLive.aspx.cs')
-rw-r--r--src/OAuth/OAuthClient/WindowsLive.aspx.cs45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/OAuth/OAuthClient/WindowsLive.aspx.cs b/src/OAuth/OAuthClient/WindowsLive.aspx.cs
new file mode 100644
index 0000000..b550e17
--- /dev/null
+++ b/src/OAuth/OAuthClient/WindowsLive.aspx.cs
@@ -0,0 +1,45 @@
+namespace OAuthClient {
+ using System;
+ using System.Collections.Generic;
+ using System.Configuration;
+ using System.Linq;
+ using System.Net;
+ using System.Web;
+ using System.Web.UI;
+ using System.Web.UI.WebControls;
+ using DotNetOpenAuth.ApplicationBlock;
+ using DotNetOpenAuth.ApplicationBlock.Facebook;
+ using DotNetOpenAuth.OAuth2;
+
+ public partial class WindowsLive : System.Web.UI.Page {
+ private static readonly WindowsLiveClient client = new WindowsLiveClient {
+ ClientIdentifier = ConfigurationManager.AppSettings["windowsLiveAppID"],
+ ClientSecret = ConfigurationManager.AppSettings["WindowsLiveAppSecret"],
+ };
+
+ protected void Page_Load(object sender, EventArgs e) {
+ if (string.Equals("localhost", this.Request.Headers["Host"].Split(':')[0], StringComparison.OrdinalIgnoreCase)) {
+ this.localhostDoesNotWorkPanel.Visible = true;
+ var builder = new UriBuilder(this.publicLink.NavigateUrl);
+ builder.Port = this.Request.Url.Port;
+ this.publicLink.NavigateUrl = builder.Uri.AbsoluteUri;
+ this.publicLink.Text = builder.Uri.AbsoluteUri;
+ } else {
+ IAuthorizationState authorization = client.ProcessUserAuthorization();
+ if (authorization == null) {
+ // Kick off authorization request
+ client.RequestUserAuthorization(scope: new[] { WindowsLiveClient.Scopes.Basic }); // this scope isn't even required just to log in
+ } else {
+ var request =
+ WebRequest.Create("https://apis.live.net/v5.0/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken));
+ using (var response = request.GetResponse()) {
+ using (var responseStream = response.GetResponseStream()) {
+ var graph = WindowsLiveGraph.Deserialize(responseStream);
+ this.nameLabel.Text = HttpUtility.HtmlEncode(graph.Name);
+ }
+ }
+ }
+ }
+ }
+ }
+}