summaryrefslogtreecommitdiffstats
path: root/samples/OpenIdProviderMvc/Models/User.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2009-03-16 09:22:08 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2009-03-16 09:22:08 -0700
commit45068758daa9d7747565af3f95bea7abfa2db54a (patch)
treeb11c17d32763b77e4bfc03005e202b0c14e8bbdf /samples/OpenIdProviderMvc/Models/User.cs
parente72da4887ebf36073d1235e28e44b44004602311 (diff)
downloadDotNetOpenAuth-45068758daa9d7747565af3f95bea7abfa2db54a.zip
DotNetOpenAuth-45068758daa9d7747565af3f95bea7abfa2db54a.tar.gz
DotNetOpenAuth-45068758daa9d7747565af3f95bea7abfa2db54a.tar.bz2
Added ASP.NET MVC OpenID Provider sample.
Diffstat (limited to 'samples/OpenIdProviderMvc/Models/User.cs')
-rw-r--r--samples/OpenIdProviderMvc/Models/User.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/samples/OpenIdProviderMvc/Models/User.cs b/samples/OpenIdProviderMvc/Models/User.cs
new file mode 100644
index 0000000..577aa05
--- /dev/null
+++ b/samples/OpenIdProviderMvc/Models/User.cs
@@ -0,0 +1,35 @@
+namespace OpenIdProviderMvc.Models {
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Text.RegularExpressions;
+ using System.Web;
+ using System.Web.Routing;
+
+ internal class User {
+ internal static Uri GetClaimedIdentifierForUser(string username) {
+ string appPath = HttpContext.Current.Request.ApplicationPath;
+ if (!appPath.EndsWith("/")) {
+ appPath += "/";
+ }
+ Uri claimedIdentifier = new Uri(
+ HttpContext.Current.Request.Url,
+ appPath + "user/" + username);
+ return new Uri(claimedIdentifier.AbsoluteUri.ToLowerInvariant());
+ }
+
+ internal static string GetUserFromClaimedIdentifier(Uri claimedIdentifier) {
+ Regex regex = new Regex(@"/user/([^/\?]+)");
+ Match m = regex.Match(claimedIdentifier.AbsoluteUri);
+ if (!m.Success) {
+ throw new ArgumentException();
+ }
+
+ return m.Groups[1].Value;
+ }
+
+ internal static Uri GetNormalizedClaimedIdentifier(Uri uri) {
+ return GetClaimedIdentifierForUser(GetUserFromClaimedIdentifier(uri));
+ }
+ }
+}