Activities of "steve.burgess"

Question
  • ABP Framework version: v6.0.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes (Microservice template)
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hi,

I'd like to just check that i'm doing login redirection correctly in abp v6 Angular Lepton-x.

When you log out of the Angular frontend it calls authserver/connect/logout

This looks like it ends up calling the OpenIddict Logout controller here https://github.com/abpframework/abp/blob/cc54b34f2777dae7697b92ea47c2c424e089632f/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/LogoutController.cs

Am i right in saying that by default when logging out via the logout menu (shown below) in the Angular frontend you will always get redirected to the root of your Angular site?

I believe this is correct because in the Logout Controller a new AuthenticationProperties object is created and the redirectUri is set to "/"

This redirection is allowed because the OpenIddict data seed adds localhost to the PostLogoutRedirectUris for the Angular application in the database.

Am i correct in thinking that if i want to change the page that is redirected to after logging out i need to update the PostLogoutRedirectUris field in the database and also then update the Logout call in the frontend to pass the "post_logout_redirect_uri" parameter as below:

authService.logout({"post_logout_redirect_uri": "http://localhost:4200/somepage"}).subscribe()

Is the above correct? Or should i be doing this another way?

Thanks,

Steve.

OK, thanks for that.

Cheers,

Steve.

  • ABP Framework version: v6.0.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes (OpenIddict)
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hi,

I'm trying to figure out how to remove items from the "General Settings" menu in the Angular lepton-x theme without replacing the component.

This section

Is this possible?

Thanks,

Steve.

  • ABP Framework version: v5.3.4
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes (microservice template)
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hi, i'm struggling to diagnose an intermittent issue i'm having during e2e testing.

Seemingly at random requests to api/abp/application-configuration will fail with the below error. I've had a look through the configuration fetching code on Github and as far as i can tell we're not updating anything that would be causing this error.

Any ideas?

[10:52:05 INF] Executing endpoint 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc)' [10:52:05 INF] Route matched with {area = "abp", action = "Get", controller = "AbpApplicationConfiguration", page = ""}. Executing controller action with signature System.Threading.Tasks.Task1[Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationDto] GetAsync() on controller Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController (Volo.Abp.AspNetCore.Mvc). [10:52:05 WRN] The cookie 'XSRF-TOKEN' has set 'SameSite=None' and must also set 'Secure'. [10:52:05 ERR] ---------- RemoteServiceErrorInfo ---------- { "code": null, "message": "An internal error occurred during your request!", "details": null, "data": {}, "validationErrors": null }

[10:52:05 ERR] Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct. System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct. at System.Collections.Generic.Dictionary2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at System.Collections.Generic.Dictionary2.set_Item(TKey key, TValue value) at Volo.Abp.DependencyInjection.AbpLazyServiceProvider.LazyGetService(Type serviceType) at Volo.Abp.DependencyInjection.AbpLazyServiceProvider.LazyGetService(Type serviceType, Object defaultValue) at Volo.Abp.DependencyInjection.AbpLazyServiceProvider.LazyGetService[T](T defaultValue) at Volo.Abp.Domain.Repositories.BasicRepositoryBase1.get_CancellationTokenProvider() at Volo.Abp.Domain.Repositories.BasicRepositoryBase1.GetCancellationToken(CancellationToken preferredValue) at Volo.Abp.PermissionManagement.EntityFrameworkCore.EfCorePermissionGrantRepository.GetListAsync(String[] names, String providerName, String providerKey, CancellationToken cancellationToken) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Volo.Abp.PermissionManagement.PermissionStore.SetCacheItemsAsync(String providerName, String providerKey, List1 notCacheKeys) at Volo.Abp.PermissionManagement.PermissionStore.GetCacheItemsAsync(String[] names, String providerName, String providerKey) at Volo.Abp.PermissionManagement.PermissionStore.IsGrantedAsync(String[] names, String providerName, String providerKey) at Volo.Abp.Authorization.Permissions.ClientPermissionValueProvider.CheckAsync(PermissionValuesCheckContext context) at Volo.Abp.Authorization.Permissions.PermissionChecker.IsGrantedAsync(ClaimsPrincipal claimsPrincipal, String[] names) at Volo.Abp.Authorization.Permissions.PermissionChecker.IsGrantedAsync(String[] names) at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationAppService.GetAuthConfigAsync() at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationAppService.GetAsync() at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope) at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync() at lambda_method1417(Closure , Object ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) [10:52:05 INF] Executing ObjectResult, writing value of type 'Volo.Abp.Http.RemoteServiceErrorResponse'.

Thanks,

Steve.

  • ABP Framework version: v5.3.4
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hi, i'm currently using the microservice template using Azure openId connect as the authentication provider. I've just upgraded to 5.3.4. As part of the upgrade a number of endpoints have been moved under the new Account Service.

After the upgrade users attempting to edit their profile information receive an error message. I'm assuming this is because their auth token doesn't contain a claim for the Account Service. This is easily solved by having the user log off and back on, however i was wondering if there is a way to force all currently logged in users to have to reauthenticate?

Thanks,

Steve.

Hi,

OK, thanks for letting me know. I'll mark this as answered.

Thanks again.

Steve.

Hi Steve,

We're aware of that, but it's related to Microsoft UseCors middleware, not ABP Framework. Also, you don't need to add the frontends to any service. Because services should access to gateway not the front end side.

Regards.

So, just to confirm, this is expected?

Are there any work arounds or do we just have to live with it outputting errors into the logs?

Thanks,

Steve.

  • ABP Framework version: v5.3.4
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hi, i'm seeing CORS errors in the log files for the 5.3.4 microservice template. This is happening for all of the services.

It's not causing any issues and everything works as expected, it's just filling the log file with noise as it happens a lot.

The services (saas, administration, identity, product) only have the Web Gateways in there CorsOrigins configuration. The Web Gateways then have the frontend in their CorsOrigin. So when it goes "frontend -> gateway -> service" i assume Ocelot is passing the Origin as the frontend and that's causing the error?

Is there a way around this? Or do i just need to add the frontends to the services CorsOrigins to stop the errors?

Cheers,

Steve.

Hi,

That works great thanks!

Cheers,

Steve.

Can you try creating a new claims principle using claims from azure ad (employeeId) and add it to current userprinciple when onTokenReceived event?

Hi,

Thanks for getting back to me.

Do you mean the OnTokenResponseReceived event?

In that event I can’t see where I would get the current user principle. I can access the claims principal, but I believe that’s just the user that authenticated with Azure. At the point that OnTokenResponseReceived is fired I’m not sure we have access to any other user principle?

Cheers,

Steve

Showing 11 to 20 of 29 entries
Made with ❤️ on ABP v9.1.0-rc.1. Updated on January 17, 2025, 14:13