summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2009-12-15 22:17:20 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2009-12-15 22:17:20 -0800
commite12782c1a6727390b2107ff2e39d4ac6173d86fc (patch)
tree3be0ccda0a9425927263f5b6b9616ef8ba11ac08 /src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx.cs
parent078b1f350eb40ceee7423c25b1d833dd1f242da4 (diff)
parenta545f7be2693596fa14540c359e43150a6a7cf88 (diff)
downloadDotNetOpenAuth-origin/mono.zip
DotNetOpenAuth-origin/mono.tar.gz
DotNetOpenAuth-origin/mono.tar.bz2
Merge branch 'v2.5' into monoorigin/mono
Conflicts: src/DotNetOpenId/Properties/AssemblyInfo.cs src/DotNetOpenId/RelyingParty/AuthenticationResponse.cs
Diffstat (limited to 'src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx.cs')
-rw-r--r--src/DotNetOpenId.TestWeb/DirectedProviderEndpoint.aspx.cs45
1 files changed, 45 insertions, 0 deletions
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();
+ }
+ }
+}