diff options
author | David Christiansen <coding@davedoes.net> | 2012-03-15 22:10:55 +0000 |
---|---|---|
committer | David Christiansen <coding@davedoes.net> | 2012-03-15 22:10:55 +0000 |
commit | a5bfa2bb8a614b1932ec8b7bbc6a0cc6bca3051f (patch) | |
tree | a3057157fa3287e0c0c4cc49be1854f9aa63d321 /src/OAuth/OAuthClient/WindowsLive.aspx.cs | |
parent | 02ce959db12fec57e846e5ebfa662cd0327ce69c (diff) | |
download | DotNetOpenAuth.Samples-a5bfa2bb8a614b1932ec8b7bbc6a0cc6bca3051f.zip DotNetOpenAuth.Samples-a5bfa2bb8a614b1932ec8b7bbc6a0cc6bca3051f.tar.gz DotNetOpenAuth.Samples-a5bfa2bb8a614b1932ec8b7bbc6a0cc6bca3051f.tar.bz2 |
W.I.P.
* Initial migration and reference to DNOA Nuget packages (From teamcity.dotnetopenauth.net)
* Awaiting fix to DotNetOpenAuth.OpenIdOAuth.nuspec in order to complete migration.
Diffstat (limited to 'src/OAuth/OAuthClient/WindowsLive.aspx.cs')
-rw-r--r-- | src/OAuth/OAuthClient/WindowsLive.aspx.cs | 45 |
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); + } + } + } + } + } + } +} |