summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2009-11-30 07:27:18 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2009-11-30 07:27:18 -0800
commit860f379d38501e56dcea207f206bf7e8c9042199 (patch)
treec738885351fcccee47755e6863e4673eef5d50fc
parentacce40c44d4a0f0ea95ca5ad671ce12dcf24cb7d (diff)
downloadDotNetOpenAuth-860f379d38501e56dcea207f206bf7e8c9042199.zip
DotNetOpenAuth-860f379d38501e56dcea207f206bf7e8c9042199.tar.gz
DotNetOpenAuth-860f379d38501e56dcea207f206bf7e8c9042199.tar.bz2
Added sample Google Apps login page.
-rw-r--r--samples/OpenIdProviderWebForms/Web.config4
-rw-r--r--samples/OpenIdRelyingPartyWebForms/OpenIdRelyingPartyWebForms.csproj8
-rw-r--r--samples/OpenIdRelyingPartyWebForms/Web.config4
-rw-r--r--samples/OpenIdRelyingPartyWebForms/login.aspx1
-rw-r--r--samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx15
-rw-r--r--samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx.cs38
-rw-r--r--samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx.designer.cs25
-rw-r--r--src/DotNetOpenAuth/OpenId/HostMetaDiscoveryService.cs2
8 files changed, 92 insertions, 5 deletions
diff --git a/samples/OpenIdProviderWebForms/Web.config b/samples/OpenIdProviderWebForms/Web.config
index 159dcd1..6d24ee6 100644
--- a/samples/OpenIdProviderWebForms/Web.config
+++ b/samples/OpenIdProviderWebForms/Web.config
@@ -96,9 +96,9 @@
</authentication>
<customErrors mode="RemoteOnly"/>
<!-- Trust level discussion:
- Full: everything works
+ Full: everything works (this is required for Google Apps for Domains support)
High: TRACE compilation symbol must NOT be defined
- Medium: doesn't work unless originUrl=".*" or WebPermission.Connect is extended.
+ Medium: doesn't work unless originUrl=".*" or WebPermission.Connect is extended, and Google Apps doesn't work.
Low: doesn't work because WebPermission.Connect is denied.
-->
<trust level="Medium" originUrl=".*"/>
diff --git a/samples/OpenIdRelyingPartyWebForms/OpenIdRelyingPartyWebForms.csproj b/samples/OpenIdRelyingPartyWebForms/OpenIdRelyingPartyWebForms.csproj
index 6f5df5c..4d57a36 100644
--- a/samples/OpenIdRelyingPartyWebForms/OpenIdRelyingPartyWebForms.csproj
+++ b/samples/OpenIdRelyingPartyWebForms/OpenIdRelyingPartyWebForms.csproj
@@ -101,6 +101,13 @@
<Compile Include="Code\InMemoryTokenManager.cs" />
<Compile Include="Code\State.cs" />
<Compile Include="Code\TracePageAppender.cs" />
+ <Compile Include="loginGoogleApps.aspx.cs">
+ <DependentUpon>loginGoogleApps.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="loginGoogleApps.aspx.designer.cs">
+ <DependentUpon>loginGoogleApps.aspx</DependentUpon>
+ </Compile>
<Compile Include="loginPlusOAuthSampleOP.aspx.cs">
<DependentUpon>loginPlusOAuthSampleOP.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -176,6 +183,7 @@
<Content Include="xrds.aspx" />
</ItemGroup>
<ItemGroup>
+ <Content Include="loginGoogleApps.aspx" />
<Content Include="loginPlusOAuthSampleOP.aspx" />
<Content Include="images\attention.png" />
<Content Include="images\dotnetopenid_tiny.gif" />
diff --git a/samples/OpenIdRelyingPartyWebForms/Web.config b/samples/OpenIdRelyingPartyWebForms/Web.config
index c48c198..cb498ba 100644
--- a/samples/OpenIdRelyingPartyWebForms/Web.config
+++ b/samples/OpenIdRelyingPartyWebForms/Web.config
@@ -65,9 +65,9 @@
</authentication>
<trace enabled="false" writeToDiagnosticsTrace="true" />
<!-- Trust level discussion:
- Full: everything works
+ Full: everything works (this is required for Google Apps for Domains support)
High: TRACE compilation symbol must NOT be defined
- Medium: doesn't work unless originUrl=".*" or WebPermission.Connect is extended.
+ Medium: doesn't work unless originUrl=".*" or WebPermission.Connect is extended, and Google Apps doesn't work.
Low: doesn't work because WebPermission.Connect is denied.
-->
<trust level="Medium" originUrl=".*"/>
diff --git a/samples/OpenIdRelyingPartyWebForms/login.aspx b/samples/OpenIdRelyingPartyWebForms/login.aspx
index d0cdb1a..efa2052 100644
--- a/samples/OpenIdRelyingPartyWebForms/login.aspx
+++ b/samples/OpenIdRelyingPartyWebForms/login.aspx
@@ -21,6 +21,7 @@
</asp:CheckBoxList>
<p>Try the PPID identifier functionality against the OpenIDProviderMvc sample.</p>
</fieldset>
+ <p><a href="loginGoogleApps.aspx">Log in using Google Apps for Domains</a>. </p>
<p>
<rp:OpenIdButton runat="server" ImageUrl="~/images/yahoo.png" Text="Login with Yahoo!" ID="yahooLoginButton"
Identifier="https://me.yahoo.com/" OnLoggingIn="OpenIdLogin1_LoggingIn" OnLoggedIn="OpenIdLogin1_LoggedIn" />
diff --git a/samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx b/samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx
new file mode 100644
index 0000000..3e9eb05
--- /dev/null
+++ b/samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx
@@ -0,0 +1,15 @@
+<%@ Page Language="C#" AutoEventWireup="True" CodeBehind="loginGoogleApps.aspx.cs"
+ Inherits="OpenIdRelyingPartyWebForms.loginGoogleApps" ValidateRequest="false"
+ MasterPageFile="~/Site.Master" %>
+
+<%@ Register Assembly="DotNetOpenAuth" Namespace="DotNetOpenAuth.OpenId.RelyingParty"
+ TagPrefix="rp" %>
+<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="Main">
+ <rp:OpenIdLogin ID="OpenIdLogin1" runat="server" ExampleUrl="yourname@yourdomain.com"
+ TabIndex="1" LabelText="Google Apps email address or domain:"
+ RegisterVisible="False" onloggedin="OpenIdLogin1_LoggedIn" />
+ <p>
+ <b>NOTE:</b> Full trust permissions are required. Modify web.config to allow full
+ trust before trying this sample.
+ </p>
+</asp:Content>
diff --git a/samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx.cs b/samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx.cs
new file mode 100644
index 0000000..c93f972
--- /dev/null
+++ b/samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx.cs
@@ -0,0 +1,38 @@
+namespace OpenIdRelyingPartyWebForms {
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Web;
+ using System.Web.UI;
+ using System.Web.UI.WebControls;
+ using DotNetOpenAuth.OpenId;
+ using DotNetOpenAuth.OpenId.RelyingParty;
+
+ public partial class loginGoogleApps : System.Web.UI.Page {
+ private static readonly HostMetaDiscoveryService GoogleAppsDiscovery = new HostMetaDiscoveryService {
+ UseGoogleHostedHostMeta = true,
+ };
+
+ private static readonly OpenIdRelyingParty relyingParty;
+
+ static loginGoogleApps() {
+ relyingParty = new OpenIdRelyingParty();
+
+ // We don't necessarily HAVE to clear the other discovery services, but
+ // because host-meta discovery (particularly with Google) can cause ambiguity
+ // in knowing which discovered endpoints are authoritative. Because of the
+ // extra security concerns it's a good idea to have a separate box
+ relyingParty.DiscoveryServices.Clear();
+ relyingParty.DiscoveryServices.Insert(0, GoogleAppsDiscovery); // it should be first, if we don't clear it
+ }
+
+ protected void Page_Load(object sender, EventArgs e) {
+ this.OpenIdLogin1.RelyingParty = relyingParty;
+ this.OpenIdLogin1.Focus();
+ }
+
+ protected void OpenIdLogin1_LoggedIn(object sender, OpenIdEventArgs e) {
+ State.FriendlyLoginName = e.Response.FriendlyIdentifierForDisplay;
+ }
+ }
+}
diff --git a/samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx.designer.cs b/samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx.designer.cs
new file mode 100644
index 0000000..6224dbb
--- /dev/null
+++ b/samples/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx.designer.cs
@@ -0,0 +1,25 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.4927
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace OpenIdRelyingPartyWebForms {
+
+
+ public partial class loginGoogleApps {
+
+ /// <summary>
+ /// OpenIdLogin1 control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::DotNetOpenAuth.OpenId.RelyingParty.OpenIdLogin OpenIdLogin1;
+ }
+}
diff --git a/src/DotNetOpenAuth/OpenId/HostMetaDiscoveryService.cs b/src/DotNetOpenAuth/OpenId/HostMetaDiscoveryService.cs
index f4b9db2..498d964 100644
--- a/src/DotNetOpenAuth/OpenId/HostMetaDiscoveryService.cs
+++ b/src/DotNetOpenAuth/OpenId/HostMetaDiscoveryService.cs
@@ -25,7 +25,7 @@ namespace DotNetOpenAuth.OpenId {
using DotNetOpenAuth.Yadis;
/// <summary>
- /// The discovery service to support Google Apps for Domains' proprietary discovery.
+ /// The discovery service to support host-meta based discovery, such as Google Apps for Domains.
/// </summary>
/// <remarks>
/// The spec for this discovery mechanism can be found at: