diff options
Diffstat (limited to 'samples/OpenIdRelyingPartyWebForms/DetectGoogleSession.aspx.cs')
-rw-r--r-- | samples/OpenIdRelyingPartyWebForms/DetectGoogleSession.aspx.cs | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/samples/OpenIdRelyingPartyWebForms/DetectGoogleSession.aspx.cs b/samples/OpenIdRelyingPartyWebForms/DetectGoogleSession.aspx.cs deleted file mode 100644 index 909c4bc..0000000 --- a/samples/OpenIdRelyingPartyWebForms/DetectGoogleSession.aspx.cs +++ /dev/null @@ -1,57 +0,0 @@ -namespace OpenIdRelyingPartyWebForms { - using System; - using System.Web; - using System.Web.UI; - - using DotNetOpenAuth.ApplicationBlock.CustomExtensions; - using DotNetOpenAuth.OpenId; - using DotNetOpenAuth.OpenId.Extensions.UI; - using DotNetOpenAuth.OpenId.RelyingParty; - - public partial class DetectGoogleSession : System.Web.UI.Page { - private const string GoogleOPIdentifier = "https://www.google.com/accounts/o8/id"; - - private const string UIModeDetectSession = "x-has-session"; - - protected void Page_Load(object sender, EventArgs e) { - this.RegisterAsyncTask( - new PageAsyncTask( - async ct => { - using (var openid = new OpenIdRelyingParty()) { - // In order to receive the UIRequest as a response, we must register a custom extension factory. - openid.ExtensionFactories.Add(new UIRequestAtRelyingPartyFactory()); - - var response = await openid.GetResponseAsync(new HttpRequestWrapper(Request), Response.ClientDisconnectedToken); - if (response == null) { - // Submit an OpenID request which Google must reply to immediately. - // If the user hasn't established a trust relationship with this site yet, - // Google will not give us the user identity, but they will tell us whether the user - // at least has an active login session with them so we know whether to promote the - // "Log in with Google" button. - IAuthenticationRequest request = - await - openid.CreateRequestAsync( - "https://www.google.com/accounts/o8/id", new HttpRequestWrapper(Request), Response.ClientDisconnectedToken); - request.AddExtension(new UIRequest { Mode = UIModeDetectSession }); - request.Mode = AuthenticationRequestMode.Immediate; - await request.RedirectToProviderAsync(new HttpContextWrapper(this.Context), Response.ClientDisconnectedToken); - } else { - if (response.Status == AuthenticationStatus.Authenticated) { - this.YouTrustUsLabel.Visible = true; - } else if (response.Status == AuthenticationStatus.SetupRequired) { - // Google refused to authenticate the user without user interaction. - // This is either because Google doesn't know who the user is yet, - // or because the user hasn't indicated to Google to trust this site. - // Google uniquely offers the RP a tip as to which of the above situations is true. - // Figure out which it is. In a real app, you might use this value to promote a - // Google login button on your site if you detect that a Google session exists. - var ext = response.GetUntrustedExtension<UIRequest>(); - this.YouAreLoggedInLabel.Visible = ext != null && ext.Mode == UIModeDetectSession; - this.YouAreNotLoggedInLabel.Visible = !this.YouAreLoggedInLabel.Visible; - } - } - } - })); - } - } -}
\ No newline at end of file |