diff --git a/.editorconfig b/.editorconfig index cfa22cc..26924d9 100644 --- a/.editorconfig +++ b/.editorconfig @@ -69,6 +69,13 @@ dotnet_style_operator_placement_when_wrapping = beginning_of_line tab_width = 4 end_of_line = crlf dotnet_style_prefer_simplified_boolean_expressions = true:suggestion +dotnet_style_allow_multiple_blank_lines_experimental = true:silent +dotnet_style_allow_statement_immediately_after_block_experimental = true:silent +dotnet_style_prefer_collection_expression = true:suggestion +dotnet_style_namespace_match_folder = true:suggestion +dotnet_style_prefer_simplified_interpolation = true:suggestion +dotnet_style_prefer_compound_assignment = true:suggestion +dotnet_code_quality_unused_parameters = all:suggestion ############################### # C# Coding Conventions # ############################### @@ -135,12 +142,35 @@ csharp_preserve_single_line_blocks = true # IDE0007: Use implicit type dotnet_diagnostic.IDE0007.severity = none +dotnet_diagnostic.IDE0090.severity = none csharp_using_directive_placement = outside_namespace:silent csharp_prefer_simple_using_statement = true:suggestion csharp_style_namespace_declarations = block_scoped:silent csharp_style_prefer_method_group_conversion = true:silent csharp_style_expression_bodied_lambdas = true:silent csharp_style_expression_bodied_local_functions = false:silent +csharp_style_prefer_top_level_statements = true:silent +csharp_style_prefer_primary_constructors = true:suggestion +csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent +csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true:silent +csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true:silent +csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true:silent +csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true:silent +csharp_style_prefer_null_check_over_type_check = true:suggestion +csharp_style_prefer_local_over_anonymous_function = true:suggestion +csharp_style_prefer_index_operator = true:suggestion +csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion +csharp_style_prefer_tuple_swap = true:suggestion +csharp_style_prefer_utf8_string_literals = true:suggestion +csharp_style_unused_value_assignment_preference = discard_variable:suggestion +csharp_style_unused_value_expression_statement_preference = discard_variable:silent +csharp_style_prefer_switch_expression = true:suggestion +csharp_prefer_static_local_function = true:suggestion +csharp_style_prefer_readonly_struct = true:suggestion +csharp_style_prefer_readonly_struct_member = true:suggestion +csharp_style_prefer_pattern_matching = true:silent +csharp_style_prefer_not_pattern = true:suggestion +csharp_style_prefer_extended_property_pattern = true:suggestion [*.vb] # Modifier preferences diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d293a8b..0aca7ba 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -20,6 +20,10 @@ steps: displayName: 'Use .Net Core sdk 6.x' inputs: version: 6.x +- task: UseDotNet@2 + displayName: 'Use .Net Core sdk 7.x' + inputs: + version: 7.x - task: DotNetCoreCLI@2 displayName: 'dotnet build' inputs: diff --git a/src/Elcamino.IdentityServer.AzureStorage/ElCamino.IdentityServer.AzureStorage.csproj b/src/Elcamino.IdentityServer.AzureStorage/ElCamino.IdentityServer.AzureStorage.csproj index 89adb30..ab928c0 100644 --- a/src/Elcamino.IdentityServer.AzureStorage/ElCamino.IdentityServer.AzureStorage.csproj +++ b/src/Elcamino.IdentityServer.AzureStorage/ElCamino.IdentityServer.AzureStorage.csproj @@ -1,13 +1,12 @@  - net6.0 - 10.0 + net6.0;net7.0 ElCamino.IdentityServer.AzureStorage ElCamino.IdentityServer.AzureStorage true true - Copyright © 2022 David Melendez, Apache 2.0 License + Copyright © 2023 David Melendez, Apache 2.0 License LICENSE https://github.com/dlmelendez/identityserver4-azurestorage https://github.com/dlmelendez/identityserver4-azurestorage.git @@ -18,18 +17,18 @@ David Melendez David Melendez Uses Azure Blob and Table Storage services as an alternative to Entity Framework/SQL data access for Duende IdentityServer. - 6.1.2 + 6.3.0 true snupkg - - - - - + + + + + diff --git a/src/Elcamino.IdentityServer.AzureStorage/Entities/ApiResource.cs b/src/Elcamino.IdentityServer.AzureStorage/Entities/ApiResource.cs index fb2309e..e25e21e 100644 --- a/src/Elcamino.IdentityServer.AzureStorage/Entities/ApiResource.cs +++ b/src/Elcamino.IdentityServer.AzureStorage/Entities/ApiResource.cs @@ -16,6 +16,7 @@ public class ApiResource public string Description { get; set; } public string AllowedAccessTokenSigningAlgorithms { get; set; } public bool ShowInDiscoveryDocument { get; set; } = true; + public bool RequireResourceIndicator { get; set; } public List Secrets { get; set; } public List Scopes { get; set; } public List UserClaims { get; set; } diff --git a/src/Elcamino.IdentityServer.AzureStorage/Entities/Client.cs b/src/Elcamino.IdentityServer.AzureStorage/Entities/Client.cs index 8747c6c..0af274e 100644 --- a/src/Elcamino.IdentityServer.AzureStorage/Entities/Client.cs +++ b/src/Elcamino.IdentityServer.AzureStorage/Entities/Client.cs @@ -28,6 +28,9 @@ public class Client public bool AllowPlainTextPkce { get; set; } public bool RequireRequestObject { get; set; } public bool AllowAccessTokensViaBrowser { get; set; } + public bool RequireDPoP { get; set; } + public DPoPTokenExpirationValidationMode DPoPValidationMode { get; set; } + public TimeSpan DPoPClockSkew { get; set; } = TimeSpan.FromMinutes(5); public List RedirectUris { get; set; } public List PostLogoutRedirectUris { get; set; } public string FrontChannelLogoutUri { get; set; } @@ -55,6 +58,7 @@ public class Client public string ClientClaimsPrefix { get; set; } = "client_"; public string PairWiseSubjectSalt { get; set; } public List AllowedCorsOrigins { get; set; } + public string InitiateLoginUri { get; set; } public List Properties { get; set; } public int? UserSsoLifetime { get; set; } public string UserCodeType { get; set; } diff --git a/tests/Elcamino.IdentityServer.AzureStorage.Tests/ElCamino.IdentityServer.AzureStorage.Tests.csproj b/tests/Elcamino.IdentityServer.AzureStorage.Tests/ElCamino.IdentityServer.AzureStorage.Tests.csproj index 2ca6441..86b0155 100644 --- a/tests/Elcamino.IdentityServer.AzureStorage.Tests/ElCamino.IdentityServer.AzureStorage.Tests.csproj +++ b/tests/Elcamino.IdentityServer.AzureStorage.Tests/ElCamino.IdentityServer.AzureStorage.Tests.csproj @@ -1,14 +1,14 @@  - net6.0 + net6.0;net7.0 false - 6.1.2 + 6.3.0 - - + + @@ -16,9 +16,9 @@ - - - + + +