diff options
author | David Christiansen <coding@davedoes.net> | 2012-03-15 22:10:55 +0000 |
---|---|---|
committer | David Christiansen <coding@davedoes.net> | 2012-03-15 22:10:55 +0000 |
commit | a5bfa2bb8a614b1932ec8b7bbc6a0cc6bca3051f (patch) | |
tree | a3057157fa3287e0c0c4cc49be1854f9aa63d321 /src/OpenID/OpenIdProviderMvc/Models/User.cs | |
parent | 02ce959db12fec57e846e5ebfa662cd0327ce69c (diff) | |
download | DotNetOpenAuth.Samples-a5bfa2bb8a614b1932ec8b7bbc6a0cc6bca3051f.zip DotNetOpenAuth.Samples-a5bfa2bb8a614b1932ec8b7bbc6a0cc6bca3051f.tar.gz DotNetOpenAuth.Samples-a5bfa2bb8a614b1932ec8b7bbc6a0cc6bca3051f.tar.bz2 |
W.I.P.
* Initial migration and reference to DNOA Nuget packages (From teamcity.dotnetopenauth.net)
* Awaiting fix to DotNetOpenAuth.OpenIdOAuth.nuspec in order to complete migration.
Diffstat (limited to 'src/OpenID/OpenIdProviderMvc/Models/User.cs')
-rw-r--r-- | src/OpenID/OpenIdProviderMvc/Models/User.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/OpenID/OpenIdProviderMvc/Models/User.cs b/src/OpenID/OpenIdProviderMvc/Models/User.cs new file mode 100644 index 0000000..c89d74d --- /dev/null +++ b/src/OpenID/OpenIdProviderMvc/Models/User.cs @@ -0,0 +1,37 @@ +namespace OpenIdProviderMvc.Models { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text.RegularExpressions; + using System.Web; + using System.Web.Routing; + using OpenIdProviderMvc.Code; + + internal class User { + internal static Uri ClaimedIdentifierBaseUri { + get { return Util.GetAppPathRootedUri("user/"); } + } + + internal static Uri GetClaimedIdentifierForUser(string username) { + if (string.IsNullOrEmpty(username)) { + throw new ArgumentNullException("username"); + } + + return new Uri(ClaimedIdentifierBaseUri, username.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)); + } + } +} |