elsa-core/src/samples/aspnet/Elsa.Samples.Webhooks.WorkflowServer/Program.cs

35 lines
1.1 KiB
C#
Raw Normal View History

using Elsa.Extensions;
using Elsa.Samples.Webhooks.WorkflowServer.Workflows;
using Elsa.Webhooks.Extensions;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddHandlersFrom<Program>();
builder.Services.AddElsa(elsa =>
{
elsa.AddWorkflow<HungryWorkflow>()
.UseHttp()
.UseIdentity(identity =>
{
identity.IdentityOptions.CreateDefaultAdmin = true;
identity.TokenOptions.SigningKey = "secret-signing-key-for-tokens";
})
.UseWorkflowsApi(api => api.CompleteTaskPolicy = policy => policy.RequireAssertion(_ => true)) // Allows anonymous requests. Will be replaced with an API key scheme.
.UseDefaultAuthentication()
.UseWebhooks(webhooks => webhooks.WebhookOptions = options => builder.Configuration.GetSection("Webhooks").Bind(options));
});
var app = builder.Build();
// Configure the HTTP request pipeline.
app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();
app.UseWorkflowsApi();
app.UseWorkflows();
app.Run();