abpframework / abpframework/abp

Self-Service Tenant Signup and Extensible Tenant Provisioning Pipeline for ABP Commercial

Open
#25,305 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request
Dominant language
C#
Stars
14.4k
Forks
3.7k
Avg merge
15h 32m
Merged PRs (30d)
106

Description

Is there an existing issue for this?
  • I have searched the existing issues
Is your feature request related to a problem? Please describe the problem.

ABP Commercial provides strong multi-tenancy infrastructure, tenant management, and tenant resolution options, but it does not currently offer a first-class self-service tenant onboarding flow for SaaS applications.

In many real-world SaaS scenarios, tenants need to be able to sign themselves up, similar to the experience that existed in ASP.NET Zero. Today, this typically requires each customer to build a custom anonymous registration flow, custom tenant creation orchestration, and custom post-provisioning logic.

This becomes even more challenging when onboarding needs to trigger downstream platform actions. For example, if a solution uses domain or subdomain-based tenant resolution, creating a tenant is only one part of the process. The platform may also need to provision DNS entries, configure routing, seed external resources, or trigger background provisioning workflows.

At the moment, there is no standard built-in tenant self-signup pipeline with an official post-signup extensibility model, which means customers must repeatedly implement this themselves for a very common SaaS requirement.

Describe the solution you'd like

I would like to see ABP Commercial provide a built-in, optional tenant self-signup / self-service tenant registration feature, together with a well-defined post-signup extensibility pipeline.

Requested capabilities

1. Tenant self-signup flow

A first-class onboarding flow that allows a new tenant to register itself, including common SaaS onboarding requirements such as:

  • tenant name
  • tenancy name / slug
  • admin user details
  • optional edition / plan selection
  • optional email confirmation
  • optional host approval
  • support for extension fields through ABP extensibility mechanisms
2. Published onboarding events or hooks

A standard event-driven extensibility model that allows developers to hook into the tenant onboarding lifecycle.

Examples of useful events or hooks:

  • TenantSignupRequested
  • TenantCreating
  • TenantCreated
  • TenantAdminCreated
  • TenantProvisioningStarted
  • TenantProvisioningCompleted
  • TenantProvisioningFailed
3. Post-signup provisioning extensibility

After signup succeeds, consumers should be able to subscribe to the published event and execute custom provisioning logic.

Examples include:

  • DNS record provisioning
  • subdomain or custom domain setup
  • reverse proxy or ingress configuration
  • storage/container creation
  • external system seeding
  • search/index provisioning
  • onboarding email or webhook dispatch
  • background job kickoff

Example use case

A good example is when tenant resolution is based on the domain or subdomain URL.
After a tenant signs up successfully, it would be very useful if ABP published a standard event that could be handled by the application to provision the required DNS entry and related infrastructure automatically.

That would allow the onboarding flow to be cleanly extended without modifying ABP internals.

Why this would help

This would make ABP Commercial significantly more SaaS-friendly by:

  • reducing repeated custom implementation effort
  • improving upgradeability
  • encouraging a standard onboarding pattern
  • supporting real-world provisioning scenarios
  • restoring a capability many teams found useful in ASP.NET Zero

Minimum viable version

Even a minimal version would already be very valuable if it included:

  • a built-in public tenant self-signup flow
  • tenant + admin user creation orchestration
  • a published post-signup / post-tenant-created event
  • documentation showing how to extend the provisioning pipeline
Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by reviewing the existing multi-tenancy and tenant-management APIs to define the signup flow, lifecycle events, and provisioning boundaries. Done would require an agreed design and implementation for the requested onboarding pipeline, along with extension documentation.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.