summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenId.TestWeb
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenId.TestWeb')
-rw-r--r--src/DotNetOpenId.TestWeb/DirectedIdentityEndpoint.aspx27
-rw-r--r--src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx16
-rw-r--r--src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx.cs45
-rw-r--r--src/DotNetOpenId.TestWeb/IdentityEndpoint.aspx2
-rw-r--r--src/DotNetOpenId.TestWeb/OPDefault.aspx25
-rw-r--r--src/DotNetOpenId.TestWeb/ProviderEndpoint.aspx.cs9
-rw-r--r--src/DotNetOpenId.TestWeb/op_xrds.aspx13
7 files changed, 134 insertions, 3 deletions
diff --git a/src/DotNetOpenId.TestWeb/DirectedIdentityEndpoint.aspx b/src/DotNetOpenId.TestWeb/DirectedIdentityEndpoint.aspx
new file mode 100644
index 0000000..ae55a71
--- /dev/null
+++ b/src/DotNetOpenId.TestWeb/DirectedIdentityEndpoint.aspx
@@ -0,0 +1,27 @@
+<%@ Page Language="C#" %>
+
+<%@ Register Assembly="DotNetOpenId" Namespace="DotNetOpenId.Provider" TagPrefix="openid" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<script runat="server">
+ protected override void OnLoad(EventArgs e) {
+ base.OnLoad(e);
+
+ IdentityEndpoint1.ProviderEndpointUrl += "?user=" + Request.QueryString["user"];
+ IdentityEndpoint1.ProviderVersion = (DotNetOpenId.ProtocolVersion)
+ Enum.Parse(typeof(DotNetOpenId.ProtocolVersion), Request.QueryString["version"]);
+ }
+</script>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+ <title>Identity page</title>
+ <openid:IdentityEndpoint ID="IdentityEndpoint1" runat="server" EnableViewState="false"
+ ProviderEndpointUrl="~/DirectedProviderEndpoint.aspx" />
+</head>
+<body>
+ <form id="form1" runat="server">
+ </form>
+</body>
+</html>
diff --git a/src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx b/src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx
new file mode 100644
index 0000000..753f031
--- /dev/null
+++ b/src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx
@@ -0,0 +1,16 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DirectedProviderEndpoint.aspx.cs" Inherits="DirectedProviderEndpoint" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+ <title>Untitled Page</title>
+</head>
+<body>
+ <form id="form1" runat="server">
+ <div>
+
+ </div>
+ </form>
+</body>
+</html>
diff --git a/src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx.cs b/src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx.cs
new file mode 100644
index 0000000..2dae40e
--- /dev/null
+++ b/src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Web.UI;
+using DotNetOpenId;
+using DotNetOpenId.Provider;
+
+public partial class DirectedProviderEndpoint : System.Web.UI.Page {
+ protected void Page_Load(object sender, EventArgs e) {
+ TestSupport.Scenarios scenario = (TestSupport.Scenarios)Enum.Parse(typeof(TestSupport.Scenarios), Request.QueryString["user"]);
+ UriBuilder providerEndpoint = new UriBuilder(Request.Url);
+ providerEndpoint.Query = "user=" + scenario;
+ OpenIdProvider provider = new OpenIdProvider(TestSupport.ProviderStoreContext, providerEndpoint.Uri,
+ Request.Url, Request.HttpMethod == "GET" ? Request.QueryString : Request.Form);
+ if (provider.Request != null) {
+ if (!provider.Request.IsResponseReady) {
+ var idreq = provider.Request as IAuthenticationRequest;
+ idreq.ClaimedIdentifier = new Uri(Request.Url, Page.ResolveUrl("~/DirectedIdentityEndpoint.aspx?user=" + scenario + "&version=" + ProtocolVersion.V20));
+
+ switch (scenario) {
+ case TestSupport.Scenarios.AutoApproval:
+ // immediately approve
+ idreq.IsAuthenticated = true;
+ break;
+ case TestSupport.Scenarios.AutoApprovalAddFragment:
+ idreq.SetClaimedIdentifierFragment("frag");
+ idreq.IsAuthenticated = true;
+ break;
+ case TestSupport.Scenarios.ApproveOnSetup:
+ idreq.IsAuthenticated = !idreq.Immediate;
+ break;
+ case TestSupport.Scenarios.AlwaysDeny:
+ idreq.IsAuthenticated = false;
+ break;
+ case TestSupport.Scenarios.ExtensionFullCooperation:
+ case TestSupport.Scenarios.ExtensionPartialCooperation:
+ throw new NotImplementedException();
+ //idreq.IsAuthenticated = true;
+ //break;
+ default:
+ throw new InvalidOperationException("Unrecognized scenario");
+ }
+ }
+ provider.Request.Response.Send();
+ }
+ }
+}
diff --git a/src/DotNetOpenId.TestWeb/IdentityEndpoint.aspx b/src/DotNetOpenId.TestWeb/IdentityEndpoint.aspx
index a70742f..f25355a 100644
--- a/src/DotNetOpenId.TestWeb/IdentityEndpoint.aspx
+++ b/src/DotNetOpenId.TestWeb/IdentityEndpoint.aspx
@@ -17,7 +17,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Identity page</title>
- <openid:IdentityEndpoint ID="IdentityEndpoint1" runat="server"
+ <openid:IdentityEndpoint ID="IdentityEndpoint1" runat="server" EnableViewState="false"
ProviderEndpointUrl="~/ProviderEndpoint.aspx" />
</head>
<body>
diff --git a/src/DotNetOpenId.TestWeb/OPDefault.aspx b/src/DotNetOpenId.TestWeb/OPDefault.aspx
new file mode 100644
index 0000000..5ce5804
--- /dev/null
+++ b/src/DotNetOpenId.TestWeb/OPDefault.aspx
@@ -0,0 +1,25 @@
+<%@ Page Language="C#" %>
+
+<%@ Register Assembly="DotNetOpenId" Namespace="DotNetOpenId" TagPrefix="openid" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<script runat="server">
+ protected override void OnLoad(EventArgs e) {
+ base.OnLoad(e);
+
+ xrdsPublisher.XrdsUrl += "?user=" + Request.QueryString["user"];
+ }
+</script>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+ <title>Untitled Page</title>
+ <!-- this page is the directed identity OP Identifier -->
+ <openid:XrdsPublisher runat="server" ID="xrdsPublisher" XrdsUrl="~/op_xrds.aspx" EnableViewState="false" />
+</head>
+<body>
+ <form id="form1" runat="server">
+ Test home page, used for OP discovery.
+ </form>
+</body>
+</html>
diff --git a/src/DotNetOpenId.TestWeb/ProviderEndpoint.aspx.cs b/src/DotNetOpenId.TestWeb/ProviderEndpoint.aspx.cs
index 098a812..8eab9c7 100644
--- a/src/DotNetOpenId.TestWeb/ProviderEndpoint.aspx.cs
+++ b/src/DotNetOpenId.TestWeb/ProviderEndpoint.aspx.cs
@@ -5,6 +5,7 @@ using DotNetOpenId.Extensions.SimpleRegistration;
using SregDemandLevel = DotNetOpenId.Extensions.SimpleRegistration.DemandLevel;
using DotNetOpenId.Extensions.ProviderAuthenticationPolicy;
using System.Globalization;
+using DotNetOpenId;
public partial class ProviderEndpoint : System.Web.UI.Page {
const string nicknameTypeUri = WellKnownAttributes.Name.Alias;
@@ -101,17 +102,21 @@ public partial class ProviderEndpoint : System.Web.UI.Page {
}
protected void ProviderEndpoint1_AuthenticationChallenge(object sender, DotNetOpenId.Provider.AuthenticationChallengeEventArgs e) {
- TestSupport.Scenarios scenario = (TestSupport.Scenarios)Enum.Parse(typeof(TestSupport.Scenarios),
- new Uri(e.Request.LocalIdentifier.ToString()).AbsolutePath.TrimStart('/'));
if (!e.Request.IsReturnUrlDiscoverable) {
throw new ArgumentException(string.Format(CultureInfo.CurrentCulture,
"return_to could not be verified using RP discovery realm {0}.", e.Request.Realm));
}
+ TestSupport.Scenarios scenario = (TestSupport.Scenarios)Enum.Parse(typeof(TestSupport.Scenarios),
+ new Uri(e.Request.LocalIdentifier).AbsolutePath.TrimStart('/'));
switch (scenario) {
case TestSupport.Scenarios.AutoApproval:
// immediately approve
e.Request.IsAuthenticated = true;
break;
+ case TestSupport.Scenarios.AutoApprovalAddFragment:
+ e.Request.SetClaimedIdentifierFragment("frag");
+ e.Request.IsAuthenticated = true;
+ break;
case TestSupport.Scenarios.ApproveOnSetup:
e.Request.IsAuthenticated = !e.Request.Immediate;
break;
diff --git a/src/DotNetOpenId.TestWeb/op_xrds.aspx b/src/DotNetOpenId.TestWeb/op_xrds.aspx
new file mode 100644
index 0000000..bef77d6
--- /dev/null
+++ b/src/DotNetOpenId.TestWeb/op_xrds.aspx
@@ -0,0 +1,13 @@
+<%@ Page Language="C#" AutoEventWireup="true" ContentType="application/xrds+xml" %><?xml version="1.0" encoding="UTF-8"?>
+<xrds:XRDS
+ xmlns:xrds="xri://$xrds"
+ xmlns:openid="http://openid.net/xmlns/1.0"
+ xmlns="xri://$xrd*($v*2.0)">
+ <XRD>
+ <Service priority="10">
+ <Type>http://specs.openid.net/auth/2.0/server</Type>
+ <Type>http://openid.net/extensions/sreg/1.1</Type>
+ <URI><%=new Uri(Request.Url, Response.ApplyAppPathModifier("~/DirectedProviderEndpoint.aspx?user=" + Request.QueryString["user"]))%></URI>
+ </Service>
+ </XRD>
+</xrds:XRDS>