summaryrefslogtreecommitdiffstats
path: root/samples/OpenIdRelyingPartyWebForms/DetectGoogleSession.aspx.cs
diff options
context:
space:
mode:
authorDavid Christiansen <DavidChristiansen@users.noreply.github.com>2015-01-05 09:33:24 +0000
committerDavid Christiansen <DavidChristiansen@users.noreply.github.com>2015-01-05 09:33:24 +0000
commit3770a51d19a04be18ade75f59e0ff1687010a130 (patch)
tree240382c976672ed421d529860117e37677328f02 /samples/OpenIdRelyingPartyWebForms/DetectGoogleSession.aspx.cs
parent7574924b2b5c810b7c00328f04f506f28da3f2ec (diff)
parenta14dcb800b25d1b0477ab123b6865d90865f96f0 (diff)
downloadDotNetOpenAuth-3770a51d19a04be18ade75f59e0ff1687010a130.zip
DotNetOpenAuth-3770a51d19a04be18ade75f59e0ff1687010a130.tar.gz
DotNetOpenAuth-3770a51d19a04be18ade75f59e0ff1687010a130.tar.bz2
Merge pull request #359 from DavidChristiansen/develop
Closes #356, Closes #357, Closes #358
Diffstat (limited to 'samples/OpenIdRelyingPartyWebForms/DetectGoogleSession.aspx.cs')
-rw-r--r--samples/OpenIdRelyingPartyWebForms/DetectGoogleSession.aspx.cs57
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