Activities of "jmalla.cp"

Question
  • ABP Framework version: v6.0.1
  • UI Type: MVC
  • Database System: EF Core (PostgreSQL)
  • Tiered (for MVC) or Auth Server Separated (for Angular): Tired
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

Hi,

I'm trying to run my project with Docker on my local computer because I want to check if the updates work correctly on a tablet before pushing the code to production.

The all containers up correctly, migrations, and I can access, https://pc01:44353/, but I can't login, because I get the error 500

And this is the Excception of webapp-web: 2024-07-12 11:18:47.622 +00:00 [ERR] [] [] An unhandled exception has occurred while executing the request. System.InvalidOperationException: IDX20803: Unable to obtain configuration from: 'http://webapp-authserver/.well-known/openid-configuration'. ---> System.IO.IOException: IDX20807: Unable to retrieve document from: 'http://webapp-authserver/.well-known/openid-configuration'. HttpResponseMessage: 'StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers: { Date: Fri, 12 Jul 2024 11:18:47 GMT Server: Kestrel X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block X-Frame-Options: SAMEORIGIN Content-Length: 168 Content-Type: application/json; charset=UTF-8 }', HttpResponseMessage.Content: '{ "error": "invalid_request", "error_description": "This server only accepts HTTPS requests.", "error_uri": "https://documentation.openiddict.com/errors/ID2083" }'. at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel) at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever.GetAsync(String address, IDocumentRetriever retriever, CancellationToken cancel) at Microsoft.IdentityModel.Protocols.ConfigurationManager1.GetConfigurationAsync(CancellationToken cancel) --- End of inner exception stack trace --- at Microsoft.IdentityModel.Protocols.ConfigurationManager1.GetConfigurationAsync(CancellationToken cancel) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.HandleChallengeAsyncInternal(AuthenticationProperties properties) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.HandleChallengeAsync(AuthenticationProperties properties) at Microsoft.AspNetCore.Authentication.AuthenticationHandler`1.ChallengeAsync(AuthenticationProperties properties) at Microsoft.AspNetCore.Authentication.AuthenticationService.ChallengeAsync(HttpContext context, String scheme, AuthenticationProperties properties) at Microsoft.AspNetCore.Mvc.ChallengeResult.ExecuteResultAsync(ActionContext context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.

Here you can see my docker-compose.yml

services:
  webapp-web:
    image: cincaporc/webapp-web:latest
    container_name: webapp-web
    build:
      context: ../../
      dockerfile: src/Cincaporc.WebApp.Web/Dockerfile.local
    environment:
      - ASPNETCORE_URLS=https://+:443;http://+:80;
      - Kestrel__Certificates__Default__Path=/root/certificate/pc01.pfx
      - Kestrel__Certificates__Default__Password=123456
      - App__SelfUrl=https://pc01:44353
      - AuthServer__RequireHttpsMetadata=false
      - AuthServer__IsContainerizedOnLocalhost=true
      - AuthServer__MetaAddress=http://webapp-authserver
      - AuthServer__Authority=https://pc01:44334
      - RemoteServices__Default__BaseUrl=http://webapp-api
      - RemoteServices__AbpAccountPublic__BaseUrl=http://webapp-authserver
      - App__MVCPublicUrl=https://pc01:44355
      - ConnectionStrings__Default=Host=db-server;Database=ExtranetDev;User Id=cincaporclocal;Password=cincaporclocal;Timeout=60;
      - Redis__Configuration=redis
    ports:
      - "44353:443"
    depends_on:
      - webapp-api
    restart: on-failure
    volumes:
      - ./certs:/root/certificate
    networks:
      - abp-network

  webapp-web-public:
    image: cincaporc/webapp-web-public:latest
    container_name: webapp-web-public
    build:
      context: ../../
      dockerfile: src/Cincaporc.WebApp.Web.Public/Dockerfile.local
    environment:
      - ASPNETCORE_URLS=https://+:443;http://+:80;
      - Kestrel__Certificates__Default__Path=/root/certificate/pc01.pfx
      - Kestrel__Certificates__Default__Password=123456
      - App__SelfUrl=https://pc01:44355
      - App__Timing__TimeZone=Europe/Madrid
      - AuthServer__RequireHttpsMetadata=false
      - AuthServer__IsContainerizedOnLocalhost=true
      - AuthServer__MetaAddress=http://webapp-authserver
      - AuthServer__Authority=https://pc01:44334
      - AuthServer__ClientId=WebApp_Web_Public_Tiered
      - AuthServer__ClientSecret=g0gMs#4j2r
      - RemoteServices__Default__BaseUrl=http://webapp-api
      - RemoteServices__AbpAccountPublic__BaseUrl=http://webapp-authserver
      - Redis__Configuration=redis
    ports:
      - "44355:443"
    depends_on:
      - webapp-api
    restart: on-failure
    volumes:
      - ./certs:/root/certificate
    networks:
      - abp-network

  webapp-api:
    image: cincaporc/webapp-api:latest
    container_name: webapp-api
    build:
      context: ../../
      dockerfile: src/Cincaporc.WebApp.HttpApi.Host/Dockerfile.local
    environment:
      - ASPNETCORE_URLS=https://+:443;http://+:80;
      - Kestrel__Certificates__Default__Path=/root/certificate/pc01.pfx
      - Kestrel__Certificates__Default__Password=123456
      - App__SelfUrl=https://pc01:44354
      - App__MVCPublicUrl=https://pc01:44355
      - App__CorsOrigins=https://pc01:44353,https://pc01:44355,http://webapp-web,http://webapp-web-public
      - App__Timing__TimeZone=Europe/Madrid
      - AuthServer__RequireHttpsMetadata=false
      - AuthServer__Authority=http://webapp-authserver
      - AuthServer__SwaggerClientId=WebApp_Swagger
      - ConnectionStrings__Default=Host=db-server;Database=ExtranetDev;User Id=cincaporclocal;Password=cincaporclocal;Timeout=60;
      - Redis__Configuration=redis
      - Settings__ErpService.ErpSelected=Fake
      - StringEncryption__DefaultPassPhrase=fQVpnvGGdYZ5DqcG
    ports:
      - "44354:443"
    depends_on:
      db-server:
        condition: service_healthy
      redis:
        condition: service_healthy
    restart: on-failure
    volumes:
      - ./certs:/root/certificate
    networks:
      - abp-network
  
  webapp-authserver:
    image: cincaporc/webapp-authserver:latest
    container_name: webapp-authserver
    build:
      context: ../../
      dockerfile: src/Cincaporc.WebApp.AuthServer/Dockerfile.local
    environment:
      - ASPNETCORE_URLS=https://+:443;http://+:80;
      - App__SelfUrl=https://pc01:44334
      - App__CorsOrigins=https://pc01:44353,https://pc01:44354,https://pc01:44355,http://webapp-web
      - App__RedirectAllowedUrls=https://pc01:44353,https://pc01:44354,https://pc01:44355
      - App__Timing__Timezone=Europe/Madrid
      - AuthServer__RequireHttpsMetadata=false
      - AuthServer__Authority=http://webapp-authserver
      - AuthServer__SetSelfAsIssuer=true
      - Kestrel__Certificates__Default__Path=/root/certificate/pc01.pfx
      - Kestrel__Certificates__Default__Password=123456
      - ConnectionStrings__Default=Host=db-server;Database=ExtranetDev;User Id=cincaporclocal;Password=cincaporclocal;Timeout=60;
      - StringEncryption__DefaultPassPhrase=fQVpnvGGdYZ5DqcG
      - Redis__Configuration=redis
      - Redis__IsEnabled=false
      - Settings__Abp.Account.IsSelfRegistrationEnabled=false
    ports:
      - "44334:443"
    depends_on:
      db-server:
        condition: service_healthy
      redis:
        condition: service_healthy
    restart: on-failure
    volumes:
      - ./certs:/root/certificate
    networks:
      - abp-network

  db-migrator:
    image: cincaporc/webapp-db-migrator:latest
    container_name: db-migrator
    build:
      context: ../../
      dockerfile: src/WebApp.DbMigrator/Dockerfile.local
    environment:
      - OpenIddict__Applications__WebApp_Web__RootUrl=https://pc01:44353
      - OpenIddict__Applications__WebApp_Web__ClientId=WebApp_Web
      - OpenIddict__Applications__WebApp_Web__ClientSecret=Pd&^901A
      - OpenIddict__Applications__WebApp_Swagger__RootUrl=https://pc01:44354
      - OpenIddict__Applications__WebApp_Swagger__ClientId=WebApp_Swagger
      - OpenIddict__Applications__WebApp_Swagger__ClientSecret=cE64h!3P
      - OpenIddict__Applications__WebApp_Web_Public__RootUrl=https://pc01:44355
      - OpenIddict__Applications__WebApp_Web_Public__ClientId=WebApp_Web_Public
      - OpenIddict__Applications__WebApp_Web_Public__ClientSecret=g0gMs#4j2r
      - OpenIddict__Applications__WebApp_Web_Public_Tiered__RootUrl=https://pc01:44355
      - OpenIddict__Applications__WebApp_Web_Public_Tiered__ClientId=WebApp_Web_Public_Tiered
      - OpenIddict__Applications__WebApp_Web_Public_Tiered__ClientSecret=g0gMs#4j2r
      - ConnectionStrings__Default=Host=db-server;Database=ExtranetDev;User Id=cincaporclocal;Password=cincaporclocal;Timeout=60;
    depends_on:
      db-server:
        condition: service_healthy
    networks:
      - abp-network
  
  db-server:
    container_name: db-server
    image: postgres
    ports:
      - "1434:5432"
    environment:
      - POSTGRES_PASSWORD=cincaporclocal
      - POSTGRES_USER=cincaporclocal
      - POSTGRES_DB=ExtranetDev
      - PGDATA=/var/lib/postgresql/data/pgdata
    volumes:
      - dbdata:/var/lib/postgresql/data
    networks:
      - abp-network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
      interval: 10s
      timeout: 3s
      retries: 10
      start_period: 10s

  redis:
    container_name: redis
    image: redis:alpine
    ports:
      - "6379:6379"
    networks:
      - abp-network
    healthcheck:
      test: ["CMD", "redis-cli","ping"]

volumes:
  dbdata:
    name: webapp_dbdata

networks:
  abp-network:
    name: webapp-network
    driver: bridge
  • ABP Framework version: v6.0.1
  • UI Type: MVC
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): Tired
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

Hi,

We have a web made with ABP Framework in production environment, and now we want to add a react-native project to launch the native mobile access.

How can we do that? What's the correct abp CLI command?

Thanks for all

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

Hi,

Now we are running some processes within a background service, and we need to know which person runs this process. However, when the background service runs the process, it doesn't know the user who launched the background service.

How can I set the user who ran the background service as the current user within the background service?

Thanks

Question
  • ABP Framework version: v6.0.1
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): Tired

After I follow this steps, https://support.abp.io/QA/Questions/4691/Clientid-permissions, can't solve my issue

To override the class OpenIddictSupportedLoginModel, but it dosen't work. The methos OnPostAsync inside that never runs.

I try to override the class LoginModel in AuthServer project, but in the method OnPostAsync the CurrentUser is null.

[Dependency(ReplaceServices = true)]
    [ExposeServices(typeof(LoginModel))]
    public class CustomLoginModel : LoginModel
    {
        public CustomLoginModel(IAuthenticationSchemeProvider schemeProvider, IOptions<AbpAccountOptions> accountOptions, IAbpRecaptchaValidatorFactory recaptchaValidatorFactory, IAccountExternalProviderAppService accountExternalProviderAppService, ICurrentPrincipalAccessor currentPrincipalAccessor, IOptions<IdentityOptions> identityOptions, IOptionsSnapshot<reCAPTCHAOptions> reCaptchaOptions) : base(schemeProvider, accountOptions, recaptchaValidatorFactory, accountExternalProviderAppService, currentPrincipalAccessor, identityOptions, reCaptchaOptions)
        {
        }

        public override async Task<IActionResult> OnPostAsync(string action)
        {
            var clientIdClaim = CurrentUser.GetAllClaims().FirstOrDefault(x => x.Type == AbpClaimTypes.ClientId);
            if (clientIdClaim != null)
            {
                if (clientIdClaim.Value == "Internal")
                {
                    if (CurrentUser.IsInRole(Roles.RoleConsts.Internal))
                        return await base.OnPostAsync(action);
                    else
                        throw new AbpAuthorizationException();
                }
                if (clientIdClaim.Value == "Public")
                {
                    return await base.OnPostAsync(action);
                }
            }

            return await base.OnPostAsync(action);
        }
    }

What I can do, to get ClientId and Roles from user to try to login?

Thanks

Question
  • ABP Framework version: v6.0.1
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): Tired
  • UI Theme: LeptonX: Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX 1.0.0

I get strange behavior when running my project on my production service.

Everything starts up fine, but after a few minuts doing nothing on the web, when I run some action on the web, such as click menu option, the left hand menu disappear, and the web shows me that I'm not authorized. If I try to logout and go back in again the issue persists. I need to clean the browser cache and redis cache and then everything shows up.

Question
  • ABP Framework version: v6.0.1
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): Tired

Hi,

I want to deny access from some client_id application with some role to some application sevice.

Is that possbile? How can I do that?

Thanks for all

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

Hi,

I want to publish an API access from a 3rd external party like a Postman.

These ara the step I followed: 1.- Create the new client_id 2.- Acced from Postman to the URI https://localhost:44335/connect/token with client_id, secret and more 3.- I have obtenied the access_token *****************************

But with this token I can't call the API, because the request is 401 Unauthorized

For example: https://localhost:44368/api/openiddict/applications with header => Authorization: Bearer *****************************

What am I doing wrong?

Thanks for all

  • ABP Framework version: v6.0.1
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): Tired
  • Exception message and stack trace: 2023-01-30 13:02:35.344 +01:00 [WRN] [] [] Failed to process the job '264': an exception occurred. Retry attempt 4 of 10 will be performed in 00:02:40. Volo.Abp.Authorization.AbpAuthorizationException: Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown. at Microsoft.AspNetCore.Authorization.AbpAuthorizationServiceExtensions.CheckAsync(IAuthorizationService authorizationService, AuthorizationPolicy policy) at Volo.Abp.Authorization.MethodInvocationAuthorizationService.CheckAsync(MethodInvocationAuthorizationContext context) at Volo.Abp.Authorization.AuthorizationInterceptor.AuthorizeAsync(IAbpMethodInvocation invocation) at Volo.Abp.Authorization.AuthorizationInterceptor.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.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.ProcessWithNewAuditingScopeAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, ICurrentUser currentUser, IAuditingManager auditingManager, IAuditingHelper auditingHelper, IUnitOfWorkManager unitOfWorkManager) at Volo.Abp.Auditing.AuditingInterceptor.ProcessWithNewAuditingScopeAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, ICurrentUser currentUser, IAuditingManager auditingManager, IAuditingHelper auditingHelper, IUnitOfWorkManager unitOfWorkManager) 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 Cincaporc.WebApp.BackgroundServices.Farms.SyncActiveFarmsWorker.DoWorkAsync(CancellationToken cancellationToken) in C:\Users\jmalla\source\Cincaporc.WebApp\src\Cincaporc.WebApp.BackgroundServices\Farms\SyncActiveFarmsWorker.cs:line 35 at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
  • Steps to reproduce the issue:"

Hi everyone,

I'm having some issues when trying to lunch an aplication service method from background job.

I know, this isn't a good practice, but in this case I need to create a User in a backgrond job, and I can't find this method in any domain service, so I have to call IIdentityUserAppService.CreateAsync()

How can I do it?

Thanks

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

Hi everyone,

I'm having a problem when I try to expand some extra properties on IdentityUser.

What I want to do is put 2 extra properties on IdentityUser as a column in the table, and I need to be able to insert infromation from de UI

First of all, I followed abp documentación by putting this code:

public static class WebAppEfCoreEntityExtensionMappings { ..... > public static void Configure() > { > ..... > OneTimeRunner.Run(() => > { > > ObjectExtensionManager.Instance > > .MapEfCoreProperty<IdentityUser, AgentType>( > > ExtendedIdentityUserConsts.AgentTypePropertyName > > ); > > ObjectExtensionManager.Instance > > .MapEfCoreProperty<IdentityUser, int>( > > ExtendedIdentityUserConsts.AgentErpIdPropertyName > > ); > }); > } }

And

public static class WebAppModuleExtensionConfigurator { > ... > private static void ConfigureExtraProperties() > { > ObjectExtensionManager.Instance.Modules() > .ConfigureIdentity(identity => > { > identity.ConfigureUser(user => > { > user.AddOrUpdateProperty<AgentType>( > ExtendedIdentityUserConsts.AgentTypePropertyName > ); > user.AddOrUpdateProperty<int>( > ExtendedIdentityUserConsts.AgentErpIdPropertyName > ); > }); > }); > } }

And finally created migrations.

Now, I have tow new columns in my database's AbpUsers table and these columns appear in the UI, but when I insert information from the UI, the new properties information go to the Extraproperties column of the table with JSON format.

If I delete the content of WebAppModuleExtensionConfigurator and try to put the information from code, this information go to the correct columns of the table in the database but then I haven't insert the information from the UI.

How can I solve this issue?

Thanks for all

Showing 1 to 9 of 9 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 19, 2024, 10:13