diff --git a/README.md b/README.md index cdb7d36..0472647 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![Build status](https://ci.appveyor.com/api/projects/status/gjlkpp86t8dw164f?svg=true)](https://ci.appveyor.com/project/tparnell8/owinoauthproviders) -#OWIN OAuth Providers +# OWIN OAuth Providers Provides a set of extra authentication providers for OWIN ([Project Katana](http://katanaproject.codeplex.com/)). This project includes providers for: - OAuth diff --git a/Rakefile.rb b/Rakefile.rb index c0eb227..05d62fd 100644 --- a/Rakefile.rb +++ b/Rakefile.rb @@ -15,7 +15,7 @@ PACKAGES = File.expand_path("packages") TOOLS = File.expand_path("tools") NUGET = File.expand_path("#{TOOLS}/nuget") NUGET_EXE = File.expand_path("#{TOOLS}/nuget/nuget.exe") -@version = "2.21.0" +@version = "2.24.0" PROJECTS = Dir.glob('src/*').select{|dir| File.directory? dir } desc 'Retrieve things' diff --git a/src/Owin.Security.Providers.Discord/DiscordAuthenticationHandler.cs b/src/Owin.Security.Providers.Discord/DiscordAuthenticationHandler.cs index 926e268..6151ea2 100644 --- a/src/Owin.Security.Providers.Discord/DiscordAuthenticationHandler.cs +++ b/src/Owin.Security.Providers.Discord/DiscordAuthenticationHandler.cs @@ -105,7 +105,7 @@ namespace Owin.Security.Providers.Discord }; if (!string.IsNullOrEmpty(context.Id)) { - context.Identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, context.UserName, XmlSchemaString, Options.AuthenticationType)); + context.Identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, context.Id, XmlSchemaString, Options.AuthenticationType)); } if (!string.IsNullOrEmpty(context.UserName)) { diff --git a/src/Owin.Security.Providers.Steam/SteamAuthenticationHandler.cs b/src/Owin.Security.Providers.Steam/SteamAuthenticationHandler.cs index 3a89d69..2c50214 100644 --- a/src/Owin.Security.Providers.Steam/SteamAuthenticationHandler.cs +++ b/src/Owin.Security.Providers.Steam/SteamAuthenticationHandler.cs @@ -10,7 +10,7 @@ namespace Owin.Security.Providers.Steam { internal sealed class SteamAuthenticationHandler : OpenIDAuthenticationHandlerBase { - private readonly Regex _accountIDRegex = new Regex(@"^http://steamcommunity\.com/openid/id/(7[0-9]{15,25})$", RegexOptions.Compiled); + private readonly Regex _accountIDRegex = new Regex(@"^https?://steamcommunity\.com/openid/id/(7[0-9]{15,25})$", RegexOptions.Compiled); private const string UserInfoUri = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key={0}&steamids={1}"; diff --git a/src/Owin.Security.Providers.Twitch/TwitchAuthenticationHandler.cs b/src/Owin.Security.Providers.Twitch/TwitchAuthenticationHandler.cs index b74caa5..6904049 100644 --- a/src/Owin.Security.Providers.Twitch/TwitchAuthenticationHandler.cs +++ b/src/Owin.Security.Providers.Twitch/TwitchAuthenticationHandler.cs @@ -60,8 +60,7 @@ namespace Owin.Security.Providers.Twitch return new AuthenticationTicket(null, properties); } - var requestPrefix = Request.Scheme + "://" + Request.Host; - var redirectUri = requestPrefix + Request.PathBase + Options.CallbackPath; + var redirectUri = GetRequestPrefix() + Request.PathBase + Options.CallbackPath; // Build up the body for the token request var body = new List> @@ -146,9 +145,7 @@ namespace Owin.Security.Providers.Twitch if (challenge == null) return Task.FromResult(null); var baseUri = - Request.Scheme + - Uri.SchemeDelimiter + - Request.Host + + GetRequestPrefix() + Request.PathBase; var currentUri = @@ -237,5 +234,12 @@ namespace Owin.Security.Providers.Twitch return context.IsRequestCompleted; } + + private string GetRequestPrefix() + { + return !String.IsNullOrEmpty(Options.RequestPrefix) + ? Options.RequestPrefix + : Request.Scheme + Uri.SchemeDelimiter + Request.Host; + } } } \ No newline at end of file diff --git a/src/Owin.Security.Providers.Twitch/TwitchAuthenticationOptions.cs b/src/Owin.Security.Providers.Twitch/TwitchAuthenticationOptions.cs index 881c83a..009512a 100644 --- a/src/Owin.Security.Providers.Twitch/TwitchAuthenticationOptions.cs +++ b/src/Owin.Security.Providers.Twitch/TwitchAuthenticationOptions.cs @@ -125,6 +125,11 @@ namespace Owin.Security.Providers.Twitch /// public bool ForceVerify { get; set; } + /// + /// Gets or sets the Request prefix + /// + public string RequestPrefix { get; set; } + /// /// Initializes a new ///