Activities of "cvarela@ld"

Hello,

Thank you for the suggestion. I tried adding favicon.ico and favicon.svg as embedded resources using the configuration you provided, but it did not resolve the issue.

Since I couldn't share our codebase, I created a fresh ABP v10 solution and confirmed that favicon replacement works correctly in the default template. So I decided to make a diff check for all the differences and I was able to pinpoint the issue.

Root Cause: I found that the issue was caused by the order of middleware in the application initialization. In our ABP v9 implementation, we had:

app.UseCorrelationId();
app.MapAbpStaticAssets();
app.UseAbpStudioLink();
app.UseRouting();

In the new version app.UseRouting(); was moved before app.MapAbpStaticAssets();

Check the diff here:

Moving app.UseRouting() before app.MapAbpStaticAssets() resolved the issue. The favicons now display correctly.

Is it possible to get this question ticket refunded?

Thanks.

I verified all of this and it's still not working.

  1. Make sure the favicon files are in the correct paths For each application (AuthServer and Blazor Server UI): the favicons are in the correct location, they were working fine before the migration and we haven't moved them. I verified and they're still there in wwwroot.
  2. Remove any manual <link rel="icon" ...> overrides: there are no overrides.
  3. Ensure the files are published and served as static content: Verified, attaching image
  4. Verify which favicon URL is actually being requested: I can confirm the URL being used is correct, just "/favicon.svg" but the icon it's retrieving is incorrect, is the LeptonX icon no the one I have in wwwroot.
  5. Clear cache correctly: tried disabling cache, a different browser and incognito. Got the same result.

As you can see in this image of my wwwroot I have a favicon.svg and favicon.ico in the auth server project and it's not the LeptonX icon . Then when I run the project in my local machine and make a request for favicon I get a different icon: .

We have not made any changes related to favicon, we just updated to ABP 10.

We created our ABP solution using ABP 9 a year ago, we changed the favicon following these instructions: https://abp.io/support/questions/5025/How-to-change-the-favicon-and-title-in-the-profile-settings-page and it worked great but now we have updated to ABP 10 and is ignoring our favicon. After the migration it is using LeptonX icon instead. I already tried clearing cookies, in incognito, using chrome and firefox. Our favicon.svg and favicon.ico are definitely available at wwwroot in both AuthServer and Blazor projects but it's not using them.

Thank you very much @maliming, this worked.

I've tried to download the Account Pro + LeptonX source using abp cli but I get an error, is there another way to get this? We really only need the Login.cshtml

Hello! I am trying to customize the login page for our application, I read the docs and I have created the file /Pages/Account/Login.cshtml in the Auth server application and copy/pasted the cshtml from here: https://github.com/abpframework/abp/blob/dev/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml. This works correctly but it looks very different from the version that ships with account pro module. Is there a way to get the up-to-date cshtml for the login page? We only want to customize the external login section and leave everything else the same. I am attaching some images to showcase the differences. We're using volo.abp.account.pro.public.web 9.0.2 nuget package.

Original

After copy/pasting the cshtml

Just to summarize in case this happens to anyone else, using .WithDynamicOptions after .AddOpenIdConnect in the AuthServer fixed the issue but you also need to add

context.Services.AddDynamicExternalLoginProviderOptions<OpenIdConnectOptions>( "AzureOpenId", options => { options.WithProperty(x => x.Authority); options.WithProperty(x => x.ClientId); options.WithProperty(x => x.ClientSecret, isSecret: true); });

in the ApiHost to be able to configure the provider in the application.

An unhandled exception occurred while processing the request. ArgumentNullException: Value cannot be null. (Parameter 'ClientId')

System.ArgumentNullException.Throw(string paramName) System.ArgumentNullException.ThrowIfNull(object argument, string paramName) System.ArgumentException.ThrowNullOrEmptyException(string argument, string paramName) System.ArgumentException.ThrowIfNullOrEmpty(string argument, string paramName) Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions.Validate() Microsoft.AspNetCore.Authentication.RemoteAuthenticationOptions.Validate(string scheme) Microsoft.AspNetCore.Authentication.AuthenticationBuilder+<>c__DisplayClass4_0<TOptions, THandler>.<AddSchemeHelper>b__1(TOptions o) Microsoft.Extensions.Options.ValidateOptions<TOptions>.Validate(string name, TOptions options) Microsoft.Extensions.Options.OptionsFactory<TOptions>.Create(string name) Microsoft.Extensions.Options.OptionsMonitor<TOptions>+<>c.<Get>b__10_0(string name, IOptionsFactory<TOptions> factory) Microsoft.Extensions.Options.OptionsCache<TOptions>+<>c__DisplayClass3_1<TArg>.<GetOrAdd>b__2() System.Lazy<T>.ViaFactory(LazyThreadSafetyMode mode) System.Lazy<T>.ExecutionAndPublication(LazyHelper executionAndPublication, bool useDefaultConstructor) System.Lazy<T>.CreateValue() Microsoft.Extensions.Options.OptionsCache<TOptions>.GetOrAdd<TArg>(string name, Func<string, TArg, TOptions> createOptions, TArg factoryArgument) Microsoft.Extensions.Options.OptionsMonitor<TOptions>.Get(string name) Microsoft.AspNetCore.Authentication.AuthenticationHandler<TOptions>.InitializeAsync(AuthenticationScheme scheme, HttpContext context) Microsoft.AspNetCore.Authentication.AuthenticationHandlerProvider.GetHandlerAsync(HttpContext context, string authenticationScheme) Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) Volo.Abp.AspNetCore.Security.AbpSecurityHeadersMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+InterfaceMiddlewareBinder+<>c__DisplayClass2_0+<<CreateMiddleware>b__0>d.MoveNext() Volo.Abp.Studio.Client.AspNetCore.AbpStudioMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Volo.Abp.Studio.Client.AspNetCore.AbpStudioMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+InterfaceMiddlewareBinder+<>c__DisplayClass2_0+<<CreateMiddleware>b__0>d.MoveNext() Volo.Abp.AspNetCore.Tracing.AbpCorrelationIdMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+InterfaceMiddlewareBinder+<>c__DisplayClass2_0+<<CreateMiddleware>b__0>d.MoveNext() Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context) Microsoft.AspNetCore.RequestLocalization.AbpRequestLocalizationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+InterfaceMiddlewareBinder+<>c__DisplayClass2_0+<<CreateMiddleware>b__0>d.MoveNext() Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)

  • Steps to reproduce the issue: I am trying to setup azure AD as an external provider but with dynamic options so I can setup the client id, secret, etc from the application instead of the appsettings. I added the following code to both the HttpApi.Host and the AuthServer. However when the AuthServer starts it throws the exception mentioned before.

context.Services.AddDynamicExternalLoginProviderOptions<OpenIdConnectOptions>( "AzureOpenId", options => { options.WithProperty(x => x.Authority); options.WithProperty(x => x.ClientId); options.WithProperty(x => x.ClientSecret, isSecret: true); options.WithProperty(x => x.CallbackPath); });

    context.Services.AddAuthentication()
        .AddOpenIdConnect("AzureOpenId", "Azure AD OpenId", options =>
        {
            options.ResponseType = OpenIdConnectResponseType.CodeIdToken;
            options.RequireHttpsMetadata = false;
            options.SaveTokens = true;
            options.GetClaimsFromUserInfoEndpoint = true;
            options.Scope.Add("email");

            options.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "sub");
        });

This worked, thank you!

Hello! Need some help customizing the footer of the Auth Server blazor application, it currently displays "2025© Lepton Theme by Volosoft" and some links. Where can we change this? the docs say we should be inheriting from Footer and overriding it using dependency injection but that only works for the Blazor Server app it is not working on the Auth Server App.

Thanks.

Showing 1 to 10 of 16 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.2.0-preview. Updated on February 05, 2026, 13:24
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.