abpframework / abpframework/abp
Self-Service Tenant Signup and Extensible Tenant Provisioning Pipeline for ABP Commercial
Nobody has claimed this yet.
- 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:
TenantSignupRequestedTenantCreatingTenantCreatedTenantAdminCreatedTenantProvisioningStartedTenantProvisioningCompletedTenantProvisioningFailed
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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