Skip to Content
Client LibrariesDotnetAuthentifizierung

Authentifizierung

OAuth 2.0 Client Credentials

Der empfohlene Weg für Service-to-Service Kommunikation:

hostBuilder.UseExternalTaskWorkers((context, options) => { options.AuthenticateUsingOAuth20ClientCredentials(); options.ConfigureWorkers(context.Configuration.GetSection("ProcessCubeEngine")); });
{ "OAuth20ClientCredentialsLoginSettings": { "AuthorityUrl": "https://auth.example.com", "ClientId": "mein-client", "ClientSecret": "geheim", "Scopes": "engine" } }

OAuth 2.0 Resource Owner Password Credentials

options.AuthenticateUsingOAuth20ResourceOwnerPasswordCredentials();

Azure Client Credentials

options.AuthenticateUsingAzureClientCredentials();

Standalone-Authentifizierung

Ohne Hosting-Extension kann die Authentifizierung direkt über einen IIdentityAccessor konfiguriert werden:

using ProcessCube.Engine.Identities; // Eigenen IIdentityAccessor implementieren public class SimpleIdentityAccessor : IIdentityAccessor { public SimpleIdentityAccessor(IIdentity identity) => Identity = identity; public IIdentity Identity { get; } public CancellationToken HasChanged => CancellationToken.None; } // Verwendung IIdentityAccessor identityAccessor = new SimpleIdentityAccessor( new SimpleIdentity { UserId = "user-id", Token = "bearer-token" }); IProcessInstancesClient client = ClientFactory.CreateProcessInstancesClient(engineUrl, identityAccessor);

Identitätssystem

Konzepte

TypBeschreibung
IIdentityTrägt ein Bearer-Token für die API-Authentifizierung
IIdentityAccessorLiefert die aktuelle Identität und signalisiert Änderungen über HasChanged
AnonymousIdentityWird verwendet, wenn kein IIdentityAccessor angegeben wird
TokenIdentityAccessorWird von den OAuth-Erweiterungen automatisch mit erneuerten Tokens versorgt

Nächste Schritte