diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2009-04-03 17:00:05 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2009-04-03 17:00:05 -0700 |
commit | 8254a5ca1ced42181eb33e1282cfab5e429b0243 (patch) | |
tree | 7efd0efb5d555d57aec6eb9059a50a59eceb98b7 /samples/OpenIdProviderWebForms/Default.aspx.cs | |
parent | a124b5a041853c0d9f52244f43740c94bd6f4f3c (diff) | |
parent | 22873cc61615aaa01734857b0567e4878b2e325c (diff) | |
download | DotNetOpenAuth-8254a5ca1ced42181eb33e1282cfab5e429b0243.zip DotNetOpenAuth-8254a5ca1ced42181eb33e1282cfab5e429b0243.tar.gz DotNetOpenAuth-8254a5ca1ced42181eb33e1282cfab5e429b0243.tar.bz2 |
Merge branch 'v3.0' into master
Diffstat (limited to 'samples/OpenIdProviderWebForms/Default.aspx.cs')
-rw-r--r-- | samples/OpenIdProviderWebForms/Default.aspx.cs | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/samples/OpenIdProviderWebForms/Default.aspx.cs b/samples/OpenIdProviderWebForms/Default.aspx.cs new file mode 100644 index 0000000..808dbb1 --- /dev/null +++ b/samples/OpenIdProviderWebForms/Default.aspx.cs @@ -0,0 +1,48 @@ +namespace OpenIdProviderWebForms { + using System; + using System.Web.Security; + using System.Web.UI.WebControls; + using DotNetOpenAuth.Messaging; + using DotNetOpenAuth.OpenId; + using DotNetOpenAuth.OpenId.Provider; + using OpenIdProviderWebForms.Code; + + /// <summary> + /// Page for handling logins to this server. + /// </summary> + public partial class _default : System.Web.UI.Page { + protected void Page_Load(object sender, EventArgs e) { + if (Request.QueryString["rp"] != null) { + if (Page.User.Identity.IsAuthenticated) { + SendAssertion(Request.QueryString["rp"]); + } else { + FormsAuthentication.RedirectToLoginPage(); + } + } else { + TextBox relyingPartySite = (TextBox)loginView.FindControl("relyingPartySite"); + if (relyingPartySite != null) { + relyingPartySite.Focus(); + } + } + } + + protected void sendAssertionButton_Click(object sender, EventArgs e) { + TextBox relyingPartySite = (TextBox)loginView.FindControl("relyingPartySite"); + SendAssertion(relyingPartySite.Text); + } + + private void SendAssertion(string relyingPartyRealm) { + Uri providerEndpoint = new Uri(Request.Url, Page.ResolveUrl("~/server.aspx")); + OpenIdProvider op = new OpenIdProvider(); + try { + // Send user input through identifier parser so we accept more free-form input. + string rpSite = Identifier.Parse(relyingPartyRealm); + op.PrepareUnsolicitedAssertion(providerEndpoint, rpSite, Util.BuildIdentityUrl(), Util.BuildIdentityUrl()).Send(); + } catch (ProtocolException ex) { + Label errorLabel = (Label)loginView.FindControl("errorLabel"); + errorLabel.Visible = true; + errorLabel.Text = ex.Message; + } + } + } +}
\ No newline at end of file |