Metaforce.WebEditor.Api.Client.Core
2.0.2
See the version list below for details.
dotnet add package Metaforce.WebEditor.Api.Client.Core --version 2.0.2
NuGet\Install-Package Metaforce.WebEditor.Api.Client.Core -Version 2.0.2
<PackageReference Include="Metaforce.WebEditor.Api.Client.Core" Version="2.0.2" />
paket add Metaforce.WebEditor.Api.Client.Core --version 2.0.2
#r "nuget: Metaforce.WebEditor.Api.Client.Core, 2.0.2"
// Install Metaforce.WebEditor.Api.Client.Core as a Cake Addin #addin nuget:?package=Metaforce.WebEditor.Api.Client.Core&version=2.0.2 // Install Metaforce.WebEditor.Api.Client.Core as a Cake Tool #tool nuget:?package=Metaforce.WebEditor.Api.Client.Core&version=2.0.2
Metaforce.WebEditor.Api clients
This client package aims to facilitate the integration with the Metaforce WebEditor api. There are two versions of this package:
- One written in netstandard2.0 aimed at .NET Framework implementations (but .NET Core as well) - Metaforce.WebEditor.Api.Client.
- One written in net6.0 aimed at .NET Core implementations - Metaforce.WebEditor.Api.Client.Core.
The main difference is that the .NET Core package offers the ability to authenticate using mTLS, otherwise both packages offers the exact same funtionality.
Getting started
Download the package to include it in your project and enjoy 😃
Upgrading from version 1 to version 2
Due to refactoring classes have changed namespaces. Let Visual Studio do its magic and guide after your upgrade...
Usage Metaforce.WebEditor.Api.Client
ClientId/ClientSecret authentication
Setup your appsettings.json with the following configuration structure:
{
"WebEditorClientOptions": {
"AuthorityEndpoint": "https://identity-v2.metaforce.net",
"ApiBaseAddress": "https://api.webeditor.metaforce.net",
"ClientId": "YOUR_CLIENT_ID",
"ClientSecret": "YOUR_CLIENT_SECRET",
"Scopes": "api.external",
"CustomerEnvironment": "Test"
}
}
Configuration properties
- AuthorityEndpoint - The URL of the Identity server. Should always be https://identity-v2.metaforce.net.
- ApiBaseAddress - The base URL of the service. Should always be https://api.webeditor.metaforce.net.
- ClientId - The ClientId of the api client. Get it from Centerpoint.
- ClientSecret - The ClientSecret of the api client. Get it from Centerpoint.
- CertificateThumbprint - The thumbprint of your client authentication certificate. This only works with the .NET Core package.
- Scopes - The api client should always be scoped to "api.external". If one wants to further limit the scope of the api client one can also configure the api client to be scoped for webeditor.dev, webeditor.test, webeditor.stage, webeditor.demo and webeditor.prod. This scope can then be configured for an Interact environment to limit what clients can access the specific environment.
- CustomerEnvironment - This value should point to the specific Interact environment the client should interact with. Possible values are Development, Test, Test1, Test2, Test3, Test4, Test5, IntegrationTest, AcceptanceTest and Production.
Configure services
var hostBuilder = new HostBuilder()
.ConfigureServices((context, services) =>
{
_ = services.WebEditorClient(context.Configuration);
});
var host = hostBuilder.Build();
Usage Metaforce.WebEditor.Api.Client.Core
ClientId/ClientSecret authentication (Core)
See ClientId/ClientSecret authentication configuration above...
mTLS authentication
Setup your appsettings.json with the following configuration structure:
{
"WebEditorClientOptions": {
"AuthorityEndpoint": "https://identity-v2.metaforce.net",
"ApiBaseAddress": "https://api.webeditor.metaforce.net",
"ClientId": "YOUR_CLIENT_ID",
"CertificateThumbprint": "YOUR_THUMBPRINT",
"Scopes": "api.external",
"CustomerEnvironment": "Test"
}
}
Configuration properties (Core)
See Configuration properties above...
Configure services (Core)
var hostBuilder = new HostBuilder()
.ConfigureServices((context, services) =>
{
_ = services.WebEditorClientCore(context.Configuration);
});
var host = hostBuilder.Build();
Client services
Once configuration is done you can use the following clients (interfaces) via dependency injection. Each interface corresponds to the api:s exposed by the Metaforce WebEditor api.
- IWebEditorApiClient - Corresponds to the Interact controller used to generate ondemand documents in PDF- and HTML-format, creating WebEditor instances and working with the Dynamo (postprocess database).
- IWebEditorArchive - Corresponds to the Archive controller used to interact with the Viewpoint archiving system.
- IWebEditorDistribution - Corresponds to Distribution controller used to generate and distribute documents to digital mailboxes, email and SMS notification and more services.
- IWebEditorStatus - Corresponds to Status controller used to controll and manage WebEditor instances.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- IdentityModel (>= 6.0.0)
- System.IdentityModel.Tokens.Jwt (>= 6.28.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.