Can we use LocalEventBus as a replacement for DistributedEventBus, particularly for intra-service communication in modules like Identity and SaaS, assuming they are hosted within the same process or closely coupled?
Hi, for distributed systems (and microservices), it's suggested to use distributed events, because of the inter-service communication without tight coupling services to each other. If you don't have a requirement for that, then you can use the local event bus, but most of the time, it will probably not be feasible for development and you will require distributed events. (Unless, you want to tightly couple your services, and this breaks the microservices architecture, because you will not be able to independently deploy your services and so on..)
Is it possible to dynamically switch between LocalEventBus and DistributedEventBus based on a configuration setting (e.g., from appsettings.json) so the same codebase can support both environments (with or without distributed messaging)?
Unfortunately, there is no feature flag for that. But, if you use IDistributedEventBus by default, and switch its provider as LocalDistributedEventBus for a custom setting/option, then it will work like a local event bus. (By default, if you don't configure a provider it uses LocalDistributedEventBus by default and it works as a local event bus - in memory -)
[dshapiro] said: For authentication we should define a new OpenID application within ABP and configure Elsa Studio to authenticate via OIDC? Or perhaps there's a simpler way to accomplish this as Elsa Server is hosted within the ABP project, so should have direct access to the Identity provider.
Hi, for authenticating Elsa Studio with your ABP based application, the recommended approach (as you stated) is to define a new OpenID Connect (OIDC) application within your ABP AuthServer. Then, configure Elsa Studio to authenticate against your ABP AuthServer using this new OIDC client.
Elsa might be providing a sample for integrating with a .NET application with identity, maybe you can check it through its repository or elsa-samples repository.
Regards.
[g.hasan@tatweermea.com] said: Sure, email sent
Thanks. We will check the report and get back to you.
Regards.
Hi, for LeptonX Theme customization, you can refer to the following links:
Hi, we have documentation for that: https://abp.io/docs/commercial/6.0/modules/identity/ldap
Can you please check it? We provide a UI for that, so you can easily configure ldap settings and using it in your ABP based application.
Regards.
[DuHK] said: I deleted the above configuration but when I run it again, I still get this error. Give me an example so that when a user changes their password the first time they log in, the token is returned.
Your module need to depend on AbpIdentityAspNetCoreModule or you should add the following configuration:
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<IdentityBuilder>(builder =>
{
builder.AddDefaultTokenProviders()
});
}
See https://github.com/abpframework/abp/issues/9009#issuecomment-841082012 for more information.
Hi, the primary way to control the session duration within your ABP application when using an external provider like Azure AD is by configuring the lifetime of the authentication cookie that your application issues. Azure AD controls its own session and token lifetimes, but your application's session is managed separately by the cookie authentication middleware.
So, you can configure your application cookie and set the expiration time to 24 hours like below:
context.Services.ConfigureApplicationCookie(options =>
{
options.ExpireTimeSpan = TimeSpan.FromHours(24); // Set cookie expiration to 24 hours
options.SlidingExpiration = true;
});
Regards.
[itlpierre] said:
[enisn] said: Hi,
does it have anything to do with the fact that im using the basic ui template?
I posted an article about that topic, you may want to follow this one for the basic theme:
https://abp.io/community/articles/you-do-it-wrong-customizing-abp-login-page-correctly-bna7wzt5#gsc.tab=0I'll look into this, will update when I've tried it out
Thanks for the update. We will be waiting for your response.
Hi, the initial loading may take time and unfortunately, this is a limitation of Blazor WASM. If performance is important to you, we suggest using Blazor WebApp, so you can benefit from both Blazor Server and Blazor WASM, and eliminate the initial loading issue.
Also, you may want to check this community article: https://abp.io/community/articles/prerendering-blazor-wasm-application-with-abp-6.x-2v8590g3