Skip to content

Commit 288dd84

Browse files
authored
Merge pull request #426 from serverlessworkflow/fix-runner-jwt-issuer-validation
Fixed the `OAuth2TokenManager` to not validate access token issuer name
2 parents a611bcb + ed9c5b9 commit 288dd84

File tree

23 files changed

+60
-26
lines changed

23 files changed

+60
-26
lines changed

src/api/Synapse.Api.Application/Configuration/AuthenticationPolicyOptions.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,25 @@ public AuthenticationPolicyOptions()
4545
this.Jwt ??= new();
4646
this.Jwt.Audience = env;
4747
}
48+
env = Environment.GetEnvironmentVariable(SynapseDefaults.EnvironmentVariables.Api.Authentication.Jwt.SigningKey);
49+
if (!string.IsNullOrWhiteSpace(env))
50+
{
51+
this.Jwt ??= new();
52+
this.Jwt.SigningKey = env;
53+
}
54+
env = Environment.GetEnvironmentVariable(SynapseDefaults.EnvironmentVariables.Api.Authentication.Jwt.Issuer);
55+
if (!string.IsNullOrWhiteSpace(env))
56+
{
57+
this.Jwt ??= new();
58+
this.Jwt.Issuer = env;
59+
}
60+
env = Environment.GetEnvironmentVariable(SynapseDefaults.EnvironmentVariables.Api.Authentication.Jwt.ValidateIssuer);
61+
if (!string.IsNullOrWhiteSpace(env))
62+
{
63+
if (!bool.TryParse(env, out var validateIssuer)) throw new Exception($"Failed to parse the specified value '{env}' into a boolean");
64+
this.Jwt ??= new();
65+
this.Jwt.ValidateIssuer = validateIssuer;
66+
}
4867
env = Environment.GetEnvironmentVariable(SynapseDefaults.EnvironmentVariables.Api.Authentication.Oidc.Authority);
4968
if (!string.IsNullOrWhiteSpace(env))
5069
{

src/api/Synapse.Api.Application/Configuration/JwtBearerAuthenticationOptions.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ public class JwtBearerAuthenticationOptions
4242
/// </summary>
4343
public virtual string? Issuer { get; set; }
4444

45+
/// <summary>
46+
/// Gets/sets a boolean indicating whether or not to validate the issuer of JWT tokens
47+
/// </summary>
48+
public virtual bool ValidateIssuer { get; set; } = true;
49+
4550
/// <summary>
4651
/// Gets the configured issuer signing key
4752
/// </summary>

src/api/Synapse.Api.Application/Synapse.Api.Application.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<NeutralLanguage>en</NeutralLanguage>
88
<GenerateDocumentationFile>True</GenerateDocumentationFile>
99
<VersionPrefix>1.0.0</VersionPrefix>
10-
<VersionSuffix>alpha3.1</VersionSuffix>
10+
<VersionSuffix>alpha3.2</VersionSuffix>
1111
<AssemblyVersion>$(VersionPrefix)</AssemblyVersion>
1212
<FileVersion>$(VersionPrefix)</FileVersion>
1313
<Authors>The Synapse Authors</Authors>

src/api/Synapse.Api.Client.Core/Synapse.Api.Client.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<NeutralLanguage>en</NeutralLanguage>
88
<GenerateDocumentationFile>True</GenerateDocumentationFile>
99
<VersionPrefix>1.0.0</VersionPrefix>
10-
<VersionSuffix>alpha3.1</VersionSuffix>
10+
<VersionSuffix>alpha3.2</VersionSuffix>
1111
<AssemblyVersion>$(VersionPrefix)</AssemblyVersion>
1212
<FileVersion>$(VersionPrefix)</FileVersion>
1313
<Authors>The Synapse Authors</Authors>

src/api/Synapse.Api.Client.Http/Synapse.Api.Client.Http.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<NeutralLanguage>en</NeutralLanguage>
88
<GenerateDocumentationFile>True</GenerateDocumentationFile>
99
<VersionPrefix>1.0.0</VersionPrefix>
10-
<VersionSuffix>alpha3.1</VersionSuffix>
10+
<VersionSuffix>alpha3.2</VersionSuffix>
1111
<AssemblyVersion>$(VersionPrefix)</AssemblyVersion>
1212
<FileVersion>$(VersionPrefix)</FileVersion>
1313
<Authors>The Synapse Authors</Authors>

src/api/Synapse.Api.Http/Synapse.Api.Http.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<OutputType>Library</OutputType>
99
<GenerateDocumentationFile>True</GenerateDocumentationFile>
1010
<VersionPrefix>1.0.0</VersionPrefix>
11-
<VersionSuffix>alpha3.1</VersionSuffix>
11+
<VersionSuffix>alpha3.2</VersionSuffix>
1212
<AssemblyVersion>$(VersionPrefix)</AssemblyVersion>
1313
<FileVersion>$(VersionPrefix)</FileVersion>
1414
<Authors>The Synapse Authors</Authors>

src/api/Synapse.Api.Server/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
ValidAudience = applicationOptions.Authentication.Jwt.Audience,
7676
ValidateAudience = !string.IsNullOrWhiteSpace(applicationOptions.Authentication.Jwt.Audience),
7777
ValidIssuer = applicationOptions.Authentication.Jwt.Issuer,
78-
ValidateIssuer = !string.IsNullOrWhiteSpace(applicationOptions.Authentication.Jwt.Issuer),
78+
ValidateIssuer = applicationOptions.Authentication.Jwt.ValidateIssuer,
7979
IssuerSigningKey = applicationOptions.Authentication.Jwt.GetSigningKey()
8080
};
8181
});

src/api/Synapse.Api.Server/Synapse.Api.Server.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<NeutralLanguage>en</NeutralLanguage>
88
<GenerateDocumentationFile>True</GenerateDocumentationFile>
99
<VersionPrefix>1.0.0</VersionPrefix>
10-
<VersionSuffix>alpha3.1</VersionSuffix>
10+
<VersionSuffix>alpha3.2</VersionSuffix>
1111
<AssemblyVersion>$(VersionPrefix)</AssemblyVersion>
1212
<FileVersion>$(VersionPrefix)</FileVersion>
1313
<Authors>The Synapse Authors</Authors>

src/cli/Synapse.Cli/Synapse.Cli.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<NeutralLanguage>en</NeutralLanguage>
99
<GenerateDocumentationFile>True</GenerateDocumentationFile>
1010
<VersionPrefix>1.0.0</VersionPrefix>
11-
<VersionSuffix>alpha3.1</VersionSuffix>
11+
<VersionSuffix>alpha3.2</VersionSuffix>
1212
<AssemblyVersion>$(VersionPrefix)</AssemblyVersion>
1313
<FileVersion>$(VersionPrefix)</FileVersion>
1414
<Authors>The Synapse Authors</Authors>

src/core/Synapse.Core.Infrastructure.Containers.Docker/Synapse.Core.Infrastructure.Containers.Docker.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<NeutralLanguage>en</NeutralLanguage>
88
<GenerateDocumentationFile>True</GenerateDocumentationFile>
99
<VersionPrefix>1.0.0</VersionPrefix>
10-
<VersionSuffix>alpha3.1</VersionSuffix>
10+
<VersionSuffix>alpha3.2</VersionSuffix>
1111
<AssemblyVersion>$(VersionPrefix)</AssemblyVersion>
1212
<FileVersion>$(VersionPrefix)</FileVersion>
1313
<Authors>The Synapse Authors</Authors>

0 commit comments

Comments
 (0)