summaryrefslogtreecommitdiffstats
path: root/samples/OpenIdRelyingPartyWebForms/NoIdentityOpenId.aspx.cs
diff options
context:
space:
mode:
Diffstat (limited to 'samples/OpenIdRelyingPartyWebForms/NoIdentityOpenId.aspx.cs')
-rw-r--r--samples/OpenIdRelyingPartyWebForms/NoIdentityOpenId.aspx.cs62
1 files changed, 36 insertions, 26 deletions
diff --git a/samples/OpenIdRelyingPartyWebForms/NoIdentityOpenId.aspx.cs b/samples/OpenIdRelyingPartyWebForms/NoIdentityOpenId.aspx.cs
index ca12964..fcfa257 100644
--- a/samples/OpenIdRelyingPartyWebForms/NoIdentityOpenId.aspx.cs
+++ b/samples/OpenIdRelyingPartyWebForms/NoIdentityOpenId.aspx.cs
@@ -1,5 +1,8 @@
namespace OpenIdRelyingPartyWebForms {
using System;
+ using System.Threading;
+ using System.Web;
+ using System.Web.UI;
using System.Web.UI.WebControls;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId;
@@ -7,10 +10,10 @@
using DotNetOpenAuth.OpenId.RelyingParty;
public partial class NoIdentityOpenId : System.Web.UI.Page {
- protected void Page_Load(object sender, EventArgs e) {
+ protected async void Page_Load(object sender, EventArgs e) {
this.openIdBox.Focus();
using (OpenIdRelyingParty rp = new OpenIdRelyingParty()) {
- IAuthenticationResponse response = rp.GetResponse();
+ IAuthenticationResponse response = await rp.GetResponseAsync(new HttpRequestWrapper(this.Request), this.Response.ClientDisconnectedToken);
if (response != null) {
switch (response.Status) {
case AuthenticationStatus.ExtensionsOnly:
@@ -45,32 +48,39 @@
}
protected void beginButton_Click(object sender, EventArgs e) {
- if (!this.Page.IsValid) {
- return; // don't login if custom validation failed.
- }
- try {
- using (OpenIdRelyingParty rp = new OpenIdRelyingParty()) {
- var request = rp.CreateRequest(this.openIdBox.Text);
- request.IsExtensionOnly = true;
+ this.RegisterAsyncTask(
+ new PageAsyncTask(
+ async ct => {
+ if (!this.Page.IsValid) {
+ return; // don't login if custom validation failed.
+ }
+ try {
+ using (OpenIdRelyingParty rp = new OpenIdRelyingParty()) {
+ var request =
+ await
+ rp.CreateRequestAsync(this.openIdBox.Text, new HttpRequestWrapper(Request), Response.ClientDisconnectedToken);
+ request.IsExtensionOnly = true;
- // This is where you would add any OpenID extensions you wanted
- // to include in the request.
- request.AddExtension(new ClaimsRequest {
- Email = DemandLevel.Request,
- Country = DemandLevel.Request,
- Gender = DemandLevel.Require,
- PostalCode = DemandLevel.Require,
- TimeZone = DemandLevel.Require,
- });
+ // This is where you would add any OpenID extensions you wanted
+ // to include in the request.
+ request.AddExtension(
+ new ClaimsRequest {
+ Email = DemandLevel.Request,
+ Country = DemandLevel.Request,
+ Gender = DemandLevel.Require,
+ PostalCode = DemandLevel.Require,
+ TimeZone = DemandLevel.Require,
+ });
- request.RedirectToProvider();
- }
- } catch (ProtocolException ex) {
- // The user probably entered an Identifier that
- // was not a valid OpenID endpoint.
- this.openidValidator.Text = ex.Message;
- this.openidValidator.IsValid = false;
- }
+ await request.RedirectToProviderAsync(new HttpContextWrapper(Context), Response.ClientDisconnectedToken);
+ }
+ } catch (ProtocolException ex) {
+ // The user probably entered an Identifier that
+ // was not a valid OpenID endpoint.
+ this.openidValidator.Text = ex.Message;
+ this.openidValidator.IsValid = false;
+ }
+ }));
}
protected void openidValidator_ServerValidate(object source, ServerValidateEventArgs args) {