feat: Implement API client and token models with hashing and JWT authentication

- Added ApiClientModel and ApiTokenModel for managing API clients and tokens.
- Introduced ConfigurationDefinitionModel and ConfigurationValueModel for configuration management.
- Created CredentialSecretModel for storing credential secrets.
- Developed DeploymentArtifactModel and DeploymentBatchModel for deployment management.
- Enhanced DeploymentTargetModel and DeploymentTemplateSelectionModel to support template revisions.
- Added TemplateRevisionModel and TemplateVersionModel for versioning templates.
- Implemented ApiClientSecretHasher for secure secret hashing.
- Created ApiTokenService for generating and validating JWT tokens.
- Updated QueueJobService to handle deployment requests with artifacts.
- Configured authentication settings in appsettings.json for JWT and Negotiate authentication.
This commit is contained in:
Torsten Brendgen
2026-07-09 14:44:38 +02:00
parent 1aa2adac08
commit dc93ea0813
72 changed files with 32906 additions and 516 deletions

View File

@@ -23,6 +23,17 @@ using Microsoft.SelfService.Portal.Core.API.Dto.Template.Add;
using Microsoft.SelfService.Portal.Core.API.Dto.Template.Edit;
using Microsoft.SelfService.Portal.Core.API.Dto.TemplateVersion.Add;
using Microsoft.SelfService.Portal.Core.API.Dto.TemplateVersion.Get;
using Microsoft.SelfService.Portal.Core.API.Dto.TemplateRevision.Add;
using Microsoft.SelfService.Portal.Core.API.Dto.TemplateRevision.Get;
using Microsoft.SelfService.Portal.Core.API.Dto.ConfigurationDefinition.Add;
using Microsoft.SelfService.Portal.Core.API.Dto.ConfigurationDefinition.Edit;
using Microsoft.SelfService.Portal.Core.API.Dto.ConfigurationDefinition.Get;
using Microsoft.SelfService.Portal.Core.API.Dto.ConfigurationValue.Add;
using Microsoft.SelfService.Portal.Core.API.Dto.ConfigurationValue.Get;
using Microsoft.SelfService.Portal.Core.API.Dto.DeploymentArtifact.Add;
using Microsoft.SelfService.Portal.Core.API.Dto.DeploymentArtifact.Get;
using Microsoft.SelfService.Portal.Core.API.Dto.CredentialSecret.Add;
using Microsoft.SelfService.Portal.Core.API.Dto.CredentialSecret.Get;
using Microsoft.SelfService.Portal.Core.API.Dto.Service.Get;
using Microsoft.SelfService.Portal.Core.API.Dto.Service.Add;
using Microsoft.SelfService.Portal.Core.API.Dto.Service.Edit;
@@ -131,6 +142,26 @@ namespace Microsoft.SelfService.Portal.Core.API.Helper
CreateMap<TemplateVersionModel, AddTemplateVersionDto>();
CreateMap<AddTemplateVersionDto, TemplateVersionModel>();
/** Template Revision Model **/
CreateMap<TemplateRevisionModel, GetTemplateRevisionDto>();
CreateMap<GetTemplateRevisionDto, TemplateRevisionModel>();
CreateMap<AddTemplateRevisionDto, TemplateRevisionModel>();
/** Configuration Data Model **/
CreateMap<ConfigurationDefinitionModel, GetConfigurationDefinitionDto>();
CreateMap<AddConfigurationDefinitionDto, ConfigurationDefinitionModel>();
CreateMap<EditConfigurationDefinitionDto, ConfigurationDefinitionModel>();
CreateMap<ConfigurationValueModel, GetConfigurationValueDto>();
CreateMap<AddConfigurationValueDto, ConfigurationValueModel>();
/** Deployment Artifact Model **/
CreateMap<DeploymentArtifactModel, GetDeploymentArtifactDto>();
CreateMap<AddDeploymentArtifactDto, DeploymentArtifactModel>();
/** Credential Secret Model **/
CreateMap<CredentialSecretModel, GetCredentialSecretDto>();
CreateMap<AddCredentialSecretDto, CredentialSecretModel>();
/** Service Model **/
CreateMap<ServiceModel, GetServiceDto>();
CreateMap<GetServiceDto, ServiceModel>();