summaryrefslogtreecommitdiffstats
path: root/samples/OpenIdProviderWebForms/Default.aspx.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2009-04-03 17:00:05 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2009-04-03 17:00:05 -0700
commit8254a5ca1ced42181eb33e1282cfab5e429b0243 (patch)
tree7efd0efb5d555d57aec6eb9059a50a59eceb98b7 /samples/OpenIdProviderWebForms/Default.aspx.cs
parenta124b5a041853c0d9f52244f43740c94bd6f4f3c (diff)
parent22873cc61615aaa01734857b0567e4878b2e325c (diff)
downloadDotNetOpenAuth-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.cs48
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