From 48a5731273b5f10eeccf06692e6a58fd174cf223 Mon Sep 17 00:00:00 2001 From: Phil Schneider Date: Fri, 11 Oct 2024 16:23:44 +0200 Subject: [PATCH] feat: add roles for technical user Refs: #112 --- .../Api/Div/Models/ServiceKeyOperationCreationRequest.cs | 9 ++++++++- src/clients/Dim.Clients/Api/Div/ProvisioningClient.cs | 7 ++++++- src/clients/Dim.Clients/Token/IBasicAuthTokenService.cs | 4 ++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/clients/Dim.Clients/Api/Div/Models/ServiceKeyOperationCreationRequest.cs b/src/clients/Dim.Clients/Api/Div/Models/ServiceKeyOperationCreationRequest.cs index 72c4122..d6bd772 100644 --- a/src/clients/Dim.Clients/Api/Div/Models/ServiceKeyOperationCreationRequest.cs +++ b/src/clients/Dim.Clients/Api/Div/Models/ServiceKeyOperationCreationRequest.cs @@ -18,6 +18,8 @@ * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ +using System; +using System.Collections.Generic; using System.Text.Json.Serialization; namespace Dim.Clients.Api.Div.Models; @@ -30,7 +32,12 @@ public record ServiceKeyOperationCreationRequest( public record ServiceKeyCreationPayloadData( [property: JsonPropertyName("customerWalletId")] Guid CustomerWalletId, - [property: JsonPropertyName("divWalletServiceName")] string ServiceKeyName + [property: JsonPropertyName("divWalletServiceName")] string ServiceKeyName, + [property: JsonPropertyName("divWalletServiceParameter")] ServiceKeyParameter Parameter +); + +public record ServiceKeyParameter( + [property: JsonPropertyName("authorities")] IEnumerable Authorities ); public record ServiceKeyOperationDeletionRequest( diff --git a/src/clients/Dim.Clients/Api/Div/ProvisioningClient.cs b/src/clients/Dim.Clients/Api/Div/ProvisioningClient.cs index 5591e53..c21ffd3 100644 --- a/src/clients/Dim.Clients/Api/Div/ProvisioningClient.cs +++ b/src/clients/Dim.Clients/Api/Div/ProvisioningClient.cs @@ -25,8 +25,12 @@ using Microsoft.Extensions.Options; using Org.Eclipse.TractusX.Portal.Backend.Framework.ErrorHandling; using Org.Eclipse.TractusX.Portal.Backend.Framework.HttpClientExtensions; +using System; +using System.Linq; using System.Net.Http.Json; using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; namespace Dim.Clients.Api.Div; @@ -138,7 +142,8 @@ public async Task CreateServiceKey(string technicalUserName, Guid walletId "create", new ServiceKeyCreationPayloadData( walletId, - technicalUserName + technicalUserName, + new ServiceKeyParameter(new[] { "IatpOperations", "ReadCompanyIdentity", "ResolveDID" }) ) ); var client = await basicAuthTokenService diff --git a/src/clients/Dim.Clients/Token/IBasicAuthTokenService.cs b/src/clients/Dim.Clients/Token/IBasicAuthTokenService.cs index 299030b..58d736a 100644 --- a/src/clients/Dim.Clients/Token/IBasicAuthTokenService.cs +++ b/src/clients/Dim.Clients/Token/IBasicAuthTokenService.cs @@ -18,6 +18,10 @@ * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; + namespace Dim.Clients.Token; public interface IBasicAuthTokenService