Activities of "NH-Support"

Dear ABP Support Team,

I hope this message finds you well.

I would like to inquire about best practices for implementing a microservices architecture using the ABP framework. Specifically, I am planning to design the system with the following requirements:

  • Each microservice will have its own separate database and will not directly connect to the authentication server's database.
  • Instead of database-level communication, each microservice will call the authentication server directly through APIs or appropriate communication protocols.
  • Each microservice will be managed in a separate repository to allow independent versioning, tagging, and release processes.

Could you please guide me on:

  • The recommended approach for this architecture using ABP?
  • Any built-in features, patterns, or modules that would facilitate this setup?
  • Best practices to ensure smooth authentication and authorization flows between the services?

Note: Some of the microservices will use mongodb, some will use postgres, some will use MSSQL Thank you very much for your assistance. I look forward to your recommendations.

Distributed **event outbox ** for MongoDB not Added records to database

I enable both inbox and outbox events and set all configuration related with them when I publish the event and received by consumer new record is added to inbox collection in database but outbox is always empty

I try to publish from application service and also from domain but both not working

this is from application service: await _priorRequestRepository.InsertAsync(new PriorRequest()); await _distributedEventBus.PublishAsync( new PriorRequestPostedEto { PriorRequestInput = input.PriorRequest, TransactionID = output.TransactionID, } );

this is from domain public PriorRequest() { AddDistributedEvent(new PriorRequestPostedEto1());

}

this is my db context: [ConnectionStringName(PriorRequestServiceDbProperties.ConnectionStringName)] public class PriorRequestServiceMongoDbContext : AbpMongoDbContext, IPriorRequestServiceMongoDbContext, IHasEventInbox, IHasEventOutbox { public IMongoCollection<IncomingEventRecord> IncomingEvents => Collection<IncomingEventRecord>(); public IMongoCollection<OutgoingEventRecord> OutgoingEvents => Collection<OutgoingEventRecord>(); public IMongoCollection<PriorRequest> PriorRequests => Collection<PriorRequest>();

protected override void CreateModel(IMongoModelBuilder modelBuilder)
{
    base.CreateModel(modelBuilder);
    modelBuilder.Entity&lt;PriorRequest&gt;(b => { b.CollectionName = PriorRequestServiceDbProperties.DbTablePrefix + "PriorRequests"; });

    modelBuilder.ConfigurePriorRequestService();
    modelBuilder.ConfigureEventInbox();
    modelBuilder.ConfigureEventOutbox();
}

}

and this is the module configuration private void ConfigureDistributedEventBus() { Configure<AbpDistributedEventBusOptions>(options => { options.Inboxes.Configure(config => { config.UseMongoDbContext<PriorRequestServiceMongoDbContext>(); });

     options.Outboxes.Configure(config =>
     {
         config.UseMongoDbContext&lt;PriorRequestServiceMongoDbContext&gt;();
     });
 });

}

the event is working and consumed from other service but the problem just in the outbox event not working

  • ABP Framework version: v9.0.2
  • UI Type: Angular
  • Database System: EF Core (SQL Serve)
  • Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue: After upgrading to version v9.0.2 the option LoginWithThisTenant disappear from tenant actions
  • All permission is granted
  • All backages from front-end packages are the same as the template project
  • I think the problem is something missing in the back end but I compared the template project with my project and couldn't find the issue -The front end is working fine because when I connect the template front with my back--end server this option disappears
  • I checked the Database by connecting the template project and my project to the same db, the template is working but my project is still missing this option kindly your support
  • ABP Framework version: v9.0.2
  • UI Type: Angular
  • Database System: EF Core (SQL Serve)
  • Auth Server Separated (for Angular): yes
  • Exception message and full stack trace: ./node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-color.mjs:1:0-65 - Error: Module not found: Error: Can't resolve '@ctrl/tinycolor' in 'F:\Projects\Templates\testAngular\angular\node_modules\ng-zorro-antd\fesm2022'
  • Steps to reproduce the issue: I create new project template from abp suite , after installing all angular packages I git this error when I run the angular app also when I am updating the old projects I get the same error Now old projects is stopping
  • ABP Framework version: v8.1.1
  • UI Type: Angular 17
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): Separated
  • Exception message and full stack trace: No Exception
  • Steps to reproduce the issue:

We have two backends and one frontend

And We want to generate proxies for each in different folders and managed to do that but the problem is when the generated services for backend2 is created it look like this:

The apiName is default so when I call any service it goes with https://localhost :44336 even though the correct url is https://localhost:44338 So how can I specify the apiName value when I generate proxy? I tried using --api-name but it didn't work.

  • ABP Framework version: v8.0.0
  • UI Type: Angular
  • Database System: EF Core (SQL Serve)
  • Tiered (for MVC) or Auth Server Separated (for Angular): separated Auht
  • Exception message and full stack trace:
  • Steps to reproduce the issue:
  • How can I access the source code of Lepton x Side Menu? as I need to override it to add ngx-joyride Thanks in advance,
  • ABP Framework version: v8.0.4
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): Separated Auth
  • Exception message and full stack trace:
  • Steps to reproduce the issue:
  • Click on Forgot Password in Login page
  • Enter the Tenant and the Email click on Submit * but I didn't receive any email and I tried to send test email from -the Auth project using the email service- to make sure that the Email Configurations are right and it worked successfully. please support.
  • ABP Framework version: v8.0
  • UI Type: Angular
  • Database System: SQL Server,
  • Tiered (for MVC) or Auth Server Separated (for Angular): https://neoauth-uat-test.dawaa24.com/
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

i have an nginx acting as a proxy server and behind it there's an auth server (https://neoauth-uat-test.dawaa24.com/) hosted on IIS

i am requesting the endpoint https://neoauth-uat-test.dawaa24.com/connect/token to get the token and it's responding to me with 200 Status Code and give me access token and refresh token

those two tokens should be saved in the Auth Database

**The Problem is that it doesn't save any **

upon review the Auth logs i see this error

2024-05-05 14:23:46.556 +04:00 [ERR] An exception was thrown while deserializing the token. Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery token could not be decrypted. ---> System.Security.Cryptography.CryptographicException: The key {9f5dc130-2567-47b5-93b6-328773960f1d} was not found in the key ring. For more information go to https://aka.ms/aspnet/dataprotectionwarning at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.UnprotectCore(Byte[] protectedData, Boolean allowOperationsOnRevokedKeys, UnprotectStatus& status) at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Unprotect(Byte[] protectedData) at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgeryTokenSerializer.Deserialize(String serializedToken) --- End of inner exception stack trace --- at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgeryTokenSerializer.Deserialize(String serializedToken) at Microsoft.AspNetCore.Antiforgery.DefaultAntiforgery.GetCookieTokenDoesNotThrow(HttpContext httpContext)

I don't know if it's related or not but how can i solve this issue

I followed the Microsoft docs for configuring the Nginx for dot net from this link Configure Nginx

I completely lost and spend two days troubleshooting without getting anywhere

if someone can help with this i would be very grateful

Additional Note: https://neoauth-uat-test.dawaa24.com/ from the Web UI i can login to the Auth Server Like in the Picture

Done

I have an Application that uses the ABP Commercial Template,

in the appsettings.json i have a Redis server configured,

The current situation is when the application can't find the Redis server it will crash what i want is: when the application first start-up, if the Redis server is not available for some reason i want to skip it and continue to run and fetch Data from the SQL DB

Later on when the application try to fetch data it will check for Redis server availability if found it will fetch data from it, if not it will continue to the SQL DB Is that doable ?

Showing 11 to 20 of 22 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on December 12, 2025, 10:36
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.