Hi,
Yes, I can use HTTPS. How do I configure it?
Hi,
Now I get this error:
2024-07-15 06:58:25.544 +00:00 [ERR] [] [] Exception occurred while processing message. Microsoft.IdentityModel.Tokens.SecurityTokenInvalidIssuerException: IDX10205: Issuer validation failed. Issuer: 'https://pc01:44334/'. Did not match: validationParameters.ValidIssuer: 'null' or validationParameters.ValidIssuers: 'http://webapp-authserver/'. at Microsoft.IdentityModel.Tokens.Validators.ValidateIssuer(String issuer, SecurityToken securityToken, TokenValidationParameters validationParameters) at System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateIssuer(String issuer, JwtSecurityToken jwtToken, TokenValidationParameters validationParameters) at System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateTokenPayload(JwtSecurityToken jwtToken, TokenValidationParameters validationParameters) at System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateToken(String token, TokenValidationParameters validationParameters, SecurityToken& validatedToken) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.ValidateToken(String idToken, AuthenticationProperties properties, TokenValidationParameters validationParameters, JwtSecurityToken& jwt) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.HandleRemoteAuthenticateAsync() 2024-07-15 06:58:25.545 +00:00 [ERR] [] [] An unhandled exception has occurred while executing the request. System.Exception: An error was encountered while handling the remote login. ---> Microsoft.IdentityModel.Tokens.SecurityTokenInvalidIssuerException: IDX10205: Issuer validation failed. Issuer: 'https://pc01:44334/'. Did not match: validationParameters.ValidIssuer: 'null' or validationParameters.ValidIssuers: 'http://webapp-authserver/'. at Microsoft.IdentityModel.Tokens.Validators.ValidateIssuer(String issuer, SecurityToken securityToken, TokenValidationParameters validationParameters) at System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateIssuer(String issuer, JwtSecurityToken jwtToken, TokenValidationParameters validationParameters) at System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateTokenPayload(JwtSecurityToken jwtToken, TokenValidationParameters validationParameters) at System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateToken(String token, TokenValidationParameters validationParameters, SecurityToken& validatedToken) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.ValidateToken(String idToken, AuthenticationProperties properties, TokenValidationParameters validationParameters, JwtSecurityToken& jwt) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.HandleRemoteAuthenticateAsync() --- End of inner exception stack trace --- at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.HandleRequestAsync() at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Volo.Abp.AspNetCore.Security.AbpSecurityHeadersMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<
Hi,
Is this configuration correct in produccion mode?
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.ConfigurationManager
1.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
Hi,
But with this way we will creat a new solucion and we already have a solution in production now
Hi Maliming,
How can we create this new template project including React?
Thanks
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
Great, thanks
Hi,
Yes, I know. But then how can I load the current user from userId?
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