Skip to content

Commit 6e091e5

Browse files
committed
Make properties nullable and improve code readability
- JwtOptions: Remove default values from ValidateAudience and ValidateIssuer, making them nullable. - AuthorizedController: Include Authorization header in PostSubmitDemoCommand response. - VaultOptions: Make Templates and nested PkiOptions properties nullable. - Extensions: Reformat method signatures, make string variables nullable, rename tuple elements in SetSecrets, and use PascalCase for tuple elements in GetClientAndSettings. - Documentation: Add period in ServiceCollectionExtensions comment and clarify return value in AddOpenTelemetry method.
1 parent 318ca61 commit 6e091e5

File tree

6 files changed

+56
-44
lines changed

6 files changed

+56
-44
lines changed

src/Genocs.Auth/Configurations/JwtOptions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ public class JwtOptions
3838
public string? ValidIssuer { get; set; }
3939
public IEnumerable<string>? ValidIssuers { get; set; }
4040
public bool ValidateActor { get; set; }
41-
public bool ValidateAudience { get; set; } = true;
42-
public bool ValidateIssuer { get; set; } = true;
41+
public bool ValidateAudience { get; set; }
42+
public bool ValidateIssuer { get; set; }
4343
public bool ValidateLifetime { get; set; } = true;
4444
public bool ValidateTokenReplay { get; set; }
4545
public bool ValidateIssuerSigningKey { get; set; }

src/Genocs.Core.Demo.WebApi/Controllers/AuthorizedController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ public AuthorizedController(ILogger<AuthorizedController> logger)
2121
[ProducesResponseType(typeof(string), StatusCodes.Status200OK)]
2222
public async Task<IActionResult> PostSubmitDemoCommand()
2323
{
24-
return await Task.Run(() => Ok("Done"));
24+
return await Task.Run(() => Ok($"Done! Authorization is: {HttpContext.Request.Headers["Authorization"]}"));
2525
}
2626
}

src/Genocs.Persistence.MongoDb/Extensions/ServiceCollectionExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
namespace Genocs.Persistence.MongoDb.Extensions;
77

88
/// <summary>
9-
/// Service Collection Extension for MongoDb Repository setup
9+
/// Service Collection Extension for MongoDb Repository setup.
1010
/// </summary>
1111
public static class ServiceCollectionExtensions
1212
{

src/Genocs.Secrets.Vault/Configurations/VaultSettings.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,23 @@ public class LeaseOptions
3434
public string? RoleName { get; set; }
3535
public string? MountPoint { get; set; }
3636
public bool AutoRenewal { get; set; }
37-
public IDictionary<string, string> Templates { get; set; }
37+
public IDictionary<string, string>? Templates { get; set; }
3838
}
3939

4040
public class PkiOptions
4141
{
4242
public bool Enabled { get; set; }
43-
public string RoleName { get; set; }
44-
public string MountPoint { get; set; }
45-
public string CertificateFormat { get; set; }
46-
public string PrivateKeyFormat { get; set; }
47-
public string CommonName { get; set; }
48-
public string TTL { get; set; }
49-
public string SubjectAlternativeNames { get; set; }
50-
public string OtherSubjectAlternativeNames { get; set; }
43+
public string? RoleName { get; set; }
44+
public string? MountPoint { get; set; }
45+
public string? CertificateFormat { get; set; }
46+
public string? PrivateKeyFormat { get; set; }
47+
public string? CommonName { get; set; }
48+
public string? TTL { get; set; }
49+
public string? SubjectAlternativeNames { get; set; }
50+
public string? OtherSubjectAlternativeNames { get; set; }
5151
public bool ExcludeCommonNameFromSubjectAlternativeNames { get; set; }
52-
public string IPSubjectAlternativeNames { get; set; }
53-
public string URISubjectAlternativeNames { get; set; }
52+
public string? IPSubjectAlternativeNames { get; set; }
53+
public string? URISubjectAlternativeNames { get; set; }
5454
public bool ImportPrivateKey { get; set; }
5555
}
5656
}

src/Genocs.Secrets.Vault/Extensions.cs

Lines changed: 40 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -222,43 +222,50 @@ private static async Task SetActiveDirectorySecretsAsync(
222222
}, credentials.LeaseId, credentials.LeaseDurationSeconds, credentials.Renewable));
223223
}
224224

225-
private static async Task SetAzureSecretsAsync(string key, IVaultClient client,
226-
VaultOptions.LeaseOptions options,
227-
IDictionary<string, string> configuration)
225+
private static async Task SetAzureSecretsAsync(
226+
string key,
227+
IVaultClient client,
228+
VaultOptions.LeaseOptions options,
229+
IDictionary<string, string> configuration)
228230
{
229231
const string name = SecretsEngineMountPoints.Defaults.Azure;
230-
var mountPoint = string.IsNullOrWhiteSpace(options.MountPoint) ? name : options.MountPoint;
231-
var credentials =
232-
await client.V1.Secrets.Azure.GetCredentialsAsync(options.RoleName, mountPoint);
232+
string? mountPoint = string.IsNullOrWhiteSpace(options.MountPoint) ? name : options.MountPoint;
233+
234+
var credentials = await client.V1.Secrets.Azure.GetCredentialsAsync(options.RoleName, mountPoint);
235+
233236
SetSecrets(key, options, configuration, name, () => (credentials, new Dictionary<string, string>
234237
{
235238
["clientId"] = credentials.Data.ClientId,
236239
["clientSecret"] = credentials.Data.ClientSecret
237240
}, credentials.LeaseId, credentials.LeaseDurationSeconds, credentials.Renewable));
238241
}
239242

240-
private static async Task SetConsulSecretsAsync(string key, IVaultClient client,
241-
VaultOptions.LeaseOptions options,
242-
IDictionary<string, string> configuration)
243+
private static async Task SetConsulSecretsAsync(
244+
string key,
245+
IVaultClient client,
246+
VaultOptions.LeaseOptions options,
247+
IDictionary<string, string> configuration)
243248
{
244249
const string name = SecretsEngineMountPoints.Defaults.Consul;
245-
var mountPoint = string.IsNullOrWhiteSpace(options.MountPoint) ? name : options.MountPoint;
246-
var credentials =
247-
await client.V1.Secrets.Consul.GetCredentialsAsync(options.RoleName, mountPoint);
250+
string? mountPoint = string.IsNullOrWhiteSpace(options.MountPoint) ? name : options.MountPoint;
251+
var credentials = await client.V1.Secrets.Consul.GetCredentialsAsync(options.RoleName, mountPoint);
252+
248253
SetSecrets(key, options, configuration, name, () => (credentials, new Dictionary<string, string>
249254
{
250255
["token"] = credentials.Data.Token
251256
}, credentials.LeaseId, credentials.LeaseDurationSeconds, credentials.Renewable));
252257
}
253258

254-
private static async Task SetDatabaseSecretsAsync(string key, IVaultClient client,
255-
VaultOptions.LeaseOptions options,
256-
IDictionary<string, string> configuration)
259+
private static async Task SetDatabaseSecretsAsync(
260+
string key,
261+
IVaultClient client,
262+
VaultOptions.LeaseOptions options,
263+
IDictionary<string, string> configuration)
257264
{
258265
const string name = SecretsEngineMountPoints.Defaults.Database;
259-
var mountPoint = string.IsNullOrWhiteSpace(options.MountPoint) ? name : options.MountPoint;
260-
var credentials =
261-
await client.V1.Secrets.Database.GetCredentialsAsync(options.RoleName, mountPoint);
266+
string? mountPoint = string.IsNullOrWhiteSpace(options.MountPoint) ? name : options.MountPoint;
267+
var credentials = await client.V1.Secrets.Database.GetCredentialsAsync(options.RoleName, mountPoint);
268+
262269
SetSecrets(key, options, configuration, name, () => (credentials, new Dictionary<string, string>
263270
{
264271
["username"] = credentials.Data.Username,
@@ -273,24 +280,29 @@ private static async Task SetPkiSecretsAsync(IVaultClient client, VaultOptions o
273280
CertificatesService.Set(options.Pki.RoleName, certificate);
274281
}
275282

276-
private static async Task SetRabbitMqSecretsAsync(string key, IVaultClient client,
277-
VaultOptions.LeaseOptions options,
278-
IDictionary<string, string> configuration)
283+
private static async Task SetRabbitMqSecretsAsync(
284+
string key,
285+
IVaultClient client,
286+
VaultOptions.LeaseOptions options,
287+
IDictionary<string, string> configuration)
279288
{
280289
const string name = SecretsEngineMountPoints.Defaults.RabbitMQ;
281-
var mountPoint = string.IsNullOrWhiteSpace(options.MountPoint) ? name : options.MountPoint;
282-
var credentials =
283-
await client.V1.Secrets.RabbitMQ.GetCredentialsAsync(options.RoleName, mountPoint);
290+
string? mountPoint = string.IsNullOrWhiteSpace(options.MountPoint) ? name : options.MountPoint;
291+
var credentials = await client.V1.Secrets.RabbitMQ.GetCredentialsAsync(options.RoleName, mountPoint);
292+
284293
SetSecrets(key, options, configuration, name, () => (credentials, new Dictionary<string, string>
285294
{
286295
["username"] = credentials.Data.Username,
287296
["password"] = credentials.Data.Password
288297
}, credentials.LeaseId, credentials.LeaseDurationSeconds, credentials.Renewable));
289298
}
290299

291-
private static void SetSecrets(string key, VaultOptions.LeaseOptions options,
292-
IDictionary<string, string> configuration, string name,
293-
Func<(object, Dictionary<string, string>, string, int, bool)> lease)
300+
private static void SetSecrets(
301+
string key,
302+
VaultOptions.LeaseOptions options,
303+
IDictionary<string, string> configuration,
304+
string name,
305+
Func<(object Credentials, Dictionary<string, string> Values, string LeaseId, int Duration, bool Renewable)> lease)
294306
{
295307
var createdAt = DateTime.UtcNow;
296308
var (credentials, values, leaseId, duration, renewable) = lease();
@@ -299,7 +311,7 @@ private static void SetSecrets(string key, VaultOptions.LeaseOptions options,
299311
LeaseService.Set(key, leaseData);
300312
}
301313

302-
private static (IVaultClient client, VaultClientSettings settings) GetClientAndSettings(VaultOptions options)
314+
private static (IVaultClient Client, VaultClientSettings Settings) GetClientAndSettings(VaultOptions options)
303315
{
304316
var settings = new VaultClientSettings(options.Url, GetAuthMethod(options));
305317
var client = new VaultClient(settings);

src/Genocs.Tracing/Extensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static class Extensions
2424
/// Custom settings for OpenTelemetry.
2525
/// </summary>
2626
/// <param name="builder">The Genocs builder.</param>
27-
/// <returns>The builder.</returns>
27+
/// <returns>The Genocs builder you can use for chain.</returns>
2828
public static IGenocsBuilder AddOpenTelemetry(this IGenocsBuilder builder)
2929
{
3030

0 commit comments

Comments
 (0)