"carl.hallqvist" 'in aktiviteleri

  • ABP Framework version: v7.3.3
  • UI Type: Blazor WASM
  • Database System: EF Core SQL Server
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace: System.InvalidOperationException: IDX10638: Cannot create the SignatureProvider, 'key.HasPrivateKey' is false, cannot create signatures. Key: Microsoft.IdentityModel.Tokens.X509SecurityKey, KeyId: '99E4CD9A8E7A78218B14A097E90AF3536263F140', InternalId: 'meTNmo56eCGLFKCX6QrzU2Jj8UA'.. at Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider..ctor(SecurityKey key, String algorithm, Boolean willCreateSignatures) at Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider..ctor(SecurityKey key, String algorithm, Boolean willCreateSignatures, CryptoProviderFactory cryptoProviderFactory) at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateSignatureProvider(SecurityKey key, String algorithm, Boolean willCreateSignatures, Boolean cacheProvider) at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateForSigning(SecurityKey key, String algorithm, Boolean cacheProvider) at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateForSigning(SecurityKey key, String algorithm) at Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.CreateEncodedSignature(String input, SigningCredentials signingCredentials) at Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateTokenPrivate(String payload, SigningCredentials signingCredentials, EncryptingCredentials encryptingCredentials, String compressionAlgorithm, IDictionary2 additionalHeaderClaims, IDictionary2 additionalInnerHeaderClaims, String tokenType) at Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(SecurityTokenDescriptor tokenDescriptor) at OpenIddict.Server.OpenIddictServerHandlers.Protection.GenerateIdentityModelToken.HandleAsync(GenerateTokenContext context) at OpenIddict.Server.OpenIddictServerDispatcher.DispatchAsync[TContext](TContext context) at OpenIddict.Server.OpenIddictServerDispatcher.DispatchAsync[TContext](TContext context) at OpenIddict.Server.OpenIddictServerHandlers.GenerateAuthorizationCode.HandleAsync(ProcessSignInContext context) at OpenIddict.Server.OpenIddictServerDispatcher.DispatchAsync[TContext](TContext context) at OpenIddict.Server.OpenIddictServerDispatcher.DispatchAsync[TContext](TContext context) at OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandler.SignInAsync(ClaimsPrincipal user, AuthenticationProperties properties) at Microsoft.AspNetCore.Authentication.AuthenticationService.SignInAsync(HttpContext context, String scheme, ClaimsPrincipal principal, AuthenticationProperties properties) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|30_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultFilters>g__Awaited|28_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Volo.Abp.AspNetCore.Auditing.AbpAuditingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Volo.Abp.AspNetCore.Auditing.AbpAuditingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location --- at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Volo.Abp.AspNetCore.Uow.AbpUnitOfWorkMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location --- at Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location --- at Volo.Abp.AspNetCore.Serilog.AbpSerilogMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location --- at Volo.Abp.AspNetCore.MultiTenancy.MultiTenancyMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Builder.ApplicationBuilderAbpOpenIddictMiddlewareExtension.<>c__DisplayClass0_0.<<UseAbpOpenIddictValidation>b__0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Prometheus.HttpMetrics.HttpRequestDurationMiddleware.Invoke(HttpContext context) at Prometheus.HttpMetrics.HttpRequestCountMiddleware.Invoke(HttpContext context) at Prometheus.HttpMetrics.HttpInProgressMiddleware.Invoke(HttpContext context) at Volo.Abp.AspNetCore.Security.AbpSecurityHeadersMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location --- at Volo.Abp.AspNetCore.Tracing.AbpCorrelationIdMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.RequestLocalization.AbpRequestLocalizationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)

  • Steps to reproduce the issue:

Not sure if I have done anything special, I am running Mac OS 14.1.2 (23B92) and has worked great, until now.

After login via auth server, the above exception is present. Got the following from the log:

[23:17:19 ERR] An unhandled exception has occurred while executing the request.
System.InvalidOperationException: IDX10638: Cannot create the SignatureProvider, 'key.HasPrivateKey' is false, cannot create signatures. Key: Microsoft.IdentityModel.Tokens.X509SecurityKey, KeyId: '99E4CD9A8E7A78218B14A097E90AF3536263F140', InternalId: 'meTNmo56eCGLFKCX6QrzU2Jj8UA'..
   at Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider..ctor(SecurityKey key, String algorithm, Boolean willCreateSignatures)
   at Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider..ctor(SecurityKey key, String algorithm, Boolean willCreateSignatures, CryptoProviderFactory cryptoProviderFactory)
   at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateSignatureProvider(SecurityKey key, String algorithm, Boolean willCreateSignatures, Boolean cacheProvider)
   at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateForSigning(SecurityKey key, String algorithm, Boolean cacheProvider)
   at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateForSigning(SecurityKey key, String algorithm)
   at Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.CreateEncodedSignature(String input, SigningCredentials signingCredentials)
   at Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateTokenPrivate(String payload, SigningCredentials signingCredentials, EncryptingCredentials encryptingCredentials, String compressionAlgorithm, IDictionary`2 additionalHeaderClaims, IDictionary`2 additionalInnerHeaderClaims, String tokenType)

Hi liangshiwei,

Thanks, that was very helpful.

  • ABP Framework version: v7.3.3
  • UI Type: Blazor WASM
  • Database System: EF Core SQL Server
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

To get a list of all users when using the ABP framework, I did this:

using Volo.Abp.Identity;

protected async Task GetIdentityUsersAsync()
{
    var users = await IdentityUserAppService.GetListAsync(new GetIdentityUsersInput());
    UserList = users.Items.ToList();
}

But now, when using the micro service template, as for my understanding, the Volo.Abp.Identy is deployed as an own micro service. Can you please provide a recommended way of how to get a list of the users when using ABP Commercial from another micro service (e.g., from ProductService or user created one)?

Kind regards, Carl

Thanks! Working perfectly! :-)

hi

Can you share a simple project?

liming.ma@volosoft.com

Thanks, I have sent you one.

  • ABP Framework version: v7.3.3
  • UI Type: Blazor WASM
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace: N/A
  • Steps to reproduce the issue: N/A

I have followed the https://docs.abp.io/en/commercial/latest/startup-templates/microservice/add-microservice guide, and most of it works. However, once I try to use my AppServices endpoints from the Blazor project, the JavaScript console says that:

rit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: Could not found remote action for method: System.Threading.Tasks.Task`1[Volo.Abp.Application.Dtos.PagedResultDto`1[GeoTicket.TicketService.Categories.CategoryDto]] GetListAsync(GeoTicket.TicketService.Categories.GetCategoryListDto) on the URL: https://localhost:44325
Volo.Abp.AbpException: Could not found remote action for method: System.Threading.Tasks.Task`1[Volo.Abp.Application.Dtos.PagedResultDto`1[GeoTicket.TicketService.Categories.CategoryDto]] GetListAsync(GeoTicket.TicketService.Categories.GetCategoryListDto) on the URL: https://localhost:44325
   at Volo.Abp.Http.Client.DynamicProxying.ApiDescriptionFinder.FindActionAsync(HttpClient client, String baseUrl, Type serviceType, MethodInfo method)
   at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor`1.&lt;GetActionApiDescriptionModel&gt;d__25[[GeoTicket.TicketService.Categories.ICategoryAppService, GeoTicket.TicketService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
   at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor`1.<InterceptAsync>d__24[[GeoTicket.TicketService.Categories.ICategoryAppService, GeoTicket.TicketService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.&lt;InterceptAsync&gt;d__3`1[[Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor`1[[GeoTicket.TicketService.Categories.ICategoryAppService, GeoTicket.TicketService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Volo.Abp.Http.Client, Version=7.3.3.0, Culture=neutral, PublicKeyToken=null],[Volo.Abp.Application.Dtos.PagedResultDto`1[[GeoTicket.TicketService.Categories.CategoryDto, GeoTicket.TicketService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Volo.Abp.Ddd.Application.Contracts, Version=7.3.3.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
   at Castle.DynamicProxy.AsyncInterceptorBase.<ProceedAsynchronous>d__14`1[[Volo.Abp.Application.Dtos.PagedResultDto`1[[GeoTicket.TicketService.Categories.CategoryDto, GeoTicket.TicketService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Volo.Abp.Ddd.Application.Contracts, Version=7.3.3.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.&lt;ProceedAsync&gt;d__7[[Volo.Abp.Application.Dtos.PagedResultDto`1[[GeoTicket.TicketService.Categories.CategoryDto, GeoTicket.TicketService.Application.Contracts, Version=1.0.0.0, 

The ticket-service swagger seems to be working, also through the gateway.

So, my question in, how to consume AppServices with start from the guide Add Microservice above? When using ABP framework, it seems that it is managed dynamically?

Never mind. If you forgot / missed to copy it after payment, you can simply recreate a new solution with abp cli and take the new license key from there.

  • ABP Framework version: v7.3.3
  • UI Type: Blazor WASM
  • Database System: EF Core (SQL Server) / MongoDB
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace: [20:55:48 ERR] ABP-LIC-0017 - License code is not valid: PABMAGkAYwBlAG4AcwB.......
  • Steps to reproduce the issue: I bought a license, after my trail period has ended. Where can I see the correct license key (I saw it once when I got it, but thought that it would be provided by mail or in the abp.io private area).

Thanks gterdem,

I think that I got most of if working now. Great support! :-)

Thanks gterdem,

I did a complete reset of the helm values. This is what I got:

# auth-server sub-chart override
authserver:
  config:
    selfUrl: https://auth.staging.microservice.io
    corsOrigins: http://microservice-blazor,https://blazor.staging.microservice.io,https://gateway-web.staging.microservice.io,https://microservice-gateway-web-public,https://microservice-identity,https://microservice-administration,https://microservice-saas,https://microservice-product
    allowedRedirectUrls: http://blazor.staging.microservice.io,https://blazor.staging.microservice.io
    disablePii: "false"
    identityService:
      connString: "Server=microservice-sqldb,1433;Database=Microservice_Identity;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
    administrationService:
      connString: "Server=microservice-sqldb,1433;Database=Microservice_Administration;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
    saasService:
      connString: "Server=microservice-sqldb,1433;Database=Microservice_Saas;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
    authServer:
      authority: http://microservice-authserver
      requireHttpsMetadata: "false"
      swaggerClientId: WebGateway_Swagger
    dotnetEnv: Production
    redisHost: microservice-redis
    rabbitmqHost: microservice-rabbitmq
    elasticsearchUrl: http://microservice-elasticsearch
  ingress:
    host: auth.staging.microservice.io
    tlsSecret: staging.microservice.io
  image:
    repository: registry.digitalocean.com/microservice/microservice-app-authserver
    tag: latest

# identity-service sub-chart override
identity:
  config:
    selfUrl: https://microservice-identity
    corsOrigins: https://microservice-gateway-web
    connectionStrings:
      identityService: "Server=microservice-sqldb,1433;Database=Microservice_Identity;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
      administrationService: "Server=microservice-sqldb,1433;Database=Microservice_Administration;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
      saasService: "Server=microservice-sqldb,1433;Database=Microservice_Saas;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
    authServer:
      authority: http://microservice-authserver
      requireHttpsMetadata: "false"
    dotnetEnv: Production
    redisHost: microservice-redis
    rabbitmqHost: microservice-rabbitmq
    elasticsearchUrl: http://microservice-elasticsearch
  openIdDict: #Seed applications and resources
    applications:
      authServerRootUrl: https://microservice-authserver/
      blazorRootUrl: https://blazor.staging.microservice.io/
      publicWebRootUrl: https://microservice-public-web/
      webGatewayRootUrl: https://microservice-gateway-web/
      publicWebGatewayRootUrl: https://microservice-gateway-web-public/ 
    resources:  
      accountServiceRootUrl: https://microservice-authserver/
      administrationServiceRootUrl: https://microservice-administration/
      identityServiceRootUrl: https://microservice-identity/
      saasServiceRootUrl: https://microservice-saas/
      productServiceRootUrl: https://microservice-product/
  ingress:
    host: microservice-identity
  image:
    repository: registry.digitalocean.com/microservice/microservice-service-identity
    tag: latest

# administration-service sub-chart override
administration:
  config:
    selfUrl: https://microservice-administration
    corsOrigins: https://microservice-gateway-web,https://microservice-gateway-web-public
    connectionStrings:
      administrationService: "Server=microservice-sqldb,1433;Database=Microservice_Administration;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
      saasService: "Server=microservice-sqldb,1433;Database=Microservice_Saas;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"    
    authServer:
      authority: http://microservice-authserver
      requireHttpsMetadata: "false"
      swaggerClientId: WebGateway_Swagger
    remoteServices:
      abpIdentityBaseUrl: https://microservice-identity
      useCurrentToken: "false"   
    dotnetEnv: Production
    redisHost: microservice-redis
    rabbitmqHost: microservice-rabbitmq
    elasticsearchUrl: http://microservice-elasticsearch
  synchedCommunication: # Used for server-to-server (client-credentials) communication with identityService for user permissions
    authority: https://microservice-authserver
    requireHttps: "false"
    validateIssuerName: "false"
    validateEndpoints: "false"
  ingress:
    host: microservice-administration
  image:
    repository: registry.digitalocean.com/microservice/microservice-service-administration
    tag: latest

# saas-service sub-chart override
saas:
  config:
    selfUrl: https://microservice-saas
    corsOrigins: https://microservice-gateway-web
    connectionStrings:
      administrationService: "Server=microservice-sqldb,1433;Database=Microservice_Administration;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
      saasService: "Server=microservice-sqldb,1433;Database=Microservice_Saas;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
    authServer:
      authority: http://microservice-authserver
      requireHttpsMetadata: "false"
      swaggerClientId: WebGateway_Swagger
    dotnetEnv: Production
    redisHost: microservice-redis
    rabbitmqHost: microservice-rabbitmq
    elasticsearchUrl: http://microservice-elasticsearch
  ingress:
    host: microservice-saas
  image:
    repository: registry.digitalocean.com/microservice/microservice-service-saas
    tag: latest  

# product-service sub-chart override
product:
  config:
    selfUrl: https://microservice-product
    corsOrigins: https://microservice-gateway-web,https://microservice-gateway-web-public
    connectionStrings:
      productService: "Server=microservice-sqldb,1433;Database=Microservice_ProductService;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
      administrationService: "Server=microservice-sqldb,1433;Database=Microservice_Administration;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
      saasService: "Server=microservice-sqldb,1433;Database=Microservice_Saas;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
    authServer:
      authority: http://microservice-authserver
      requireHttpsMetadata: "false"
      swaggerClientId: WebGateway_Swagger
    dotnetEnv: Production
    redisHost: microservice-redis
    rabbitmqHost: microservice-rabbitmq
    elasticsearchUrl: http://microservice-elasticsearch
  ingress:
    host: microservice-product
  image:
    repository: registry.digitalocean.com/microservice/microservice-service-product
    tag: latest

# gateway-web sub-chart override
gateway-web:
  config:
    selfUrl: https://gateway-web.staging.microservice.io
    corsOrigins: https://blazor.staging.microservice.io
    globalConfigurationBaseUrl: http://microservice-gateway-web
    authServer:
      authority: http://microservice-authserver
      requireHttpsMetadata: "false"
      swaggerClientId: WebGateway_Swagger
    dotnetEnv: Production
    redisHost: microservice-redis
    rabbitmqHost: microservice-rabbitmq
    elasticsearchUrl: http://microservice-elasticsearch
  reRoutes:
    accountService:
      dns: https://auth.staging.microservice.io
      schema: http
      host: microservice-authserver
      port: 80
    identityService:
      dns: https://microservice-identity
      schema: http
      host: microservice-identity
      port: 80
    administrationService:
      dns: https://microservice-administration
      schema: http
      host: microservice-administration
      port: 80
    saasService:
      dns: https://microservice-saas
      schema: http
      host: microservice-saas
      port: 80
    productService:
      dns: https://microservice-product
      schema: http
      host: microservice-product
      port: 80  
  ingress:
    host: gateway-web.staging.microservice.io
    tlsSecret: staging.microservice.io
  image:
    repository: registry.digitalocean.com/microservice/microservice-gateway-web
    tag: latest
    pullPolicy: IfNotPresent

# gateway-web-public sub-chart override
gateway-web-public:
  config:
    selfUrl: https://microservice-gateway-web-public
    globalConfigurationBaseUrl: http://microservice-gateway-web-public
    authServer:
      authority: http://microservice-authserver
      requireHttpsMetadata: "false"
      swaggerClientId: WebGateway_Swagger
      swaggerClientSecret: "1q2w3e*"
    dotnetEnv: Production 
    redisHost: microservice-redis
    rabbitmqHost: microservice-rabbitmq
    elasticsearchUrl: http://microservice-elasticsearch
  reRoutes:
    accountService:
      dns: https://microservice-authserver
      schema: http
      host: microservice-authserver
      port: 80
    saasService:
      dns: https://microservice-saas
      schema: http
      host: microservice-saas
      port: 80
    administrationService:
      dns: https://microservice-administration
      schema: http
      host: microservice-administration
      port: 80
    productService:
      dns: https://microservice-product
      schema: http
      host: microservice-product
      port: 80  
  ingress:
    host: microservice-gateway-web-public
    # tlsSecret: microservice-tls
  image:
    repository: registry.digitalocean.com/microservice/microservice-gateway-web-public
    tag: latest
    pullPolicy: IfNotPresent

kibana:
  config:
    elasticsearchUrl: http://microservice-elasticsearch:9200

# dbmigrator sub-chart override
dbmigrator:
  config:
    connectionStrings:
      identityService: "Server=microservice-sqldb,1433;Database=Microservice_Identity;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
      administrationService: "Server=microservice-sqldb,1433;Database=Microservice_Administration;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
      saasService: "Server=microservice-sqldb,1433;Database=Microservice_Saas;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
      productService: "Server=microservice-sqldb,1433;Database=Microservice_ProductService;User Id=sa;password=myPassw@rd;TrustServerCertificate=True"
    dotnetEnv: Production
    elasticsearchUrl: http://microservice-elasticsearch
    redisHost: microservice-redis
  openIdDict:
    applications:
      authServerRootUrl: https://microservice-authserver/
      angularRootUrl: https://microservice-angular/
      webRootUrl: https://microservice-web/
      blazorRootUrl: https://blazor.staging.microservice.io/
      blazorServerRootUrl: https://microservice-blazor-server/
      publicWebRootUrl: https://microservice-public-web/
      webGatewayRootUrl: https://microservice-gateway-web/
      publicWebGatewayRootUrl: https://microservice-gateway-web-public/ 
    resources:  
      accountServiceRootUrl: https://microservice-authserver/
      administrationServiceRootUrl: https://microservice-administration/
      identityServiceRootUrl: https://microservice-identity/
      saasServiceRootUrl: https://microservice-saas/
      productServiceRootUrl: https://microservice-product/
  image:
    repository: registry.digitalocean.com/microservice/microservice-db-migrator
    tag: latest
    pullPolicy: IfNotPresent  

# Public Web application sub-chart override
publicweb:
  config:
    selfUrl: https://public-web.staging.microservice.io
    gatewayUrl: http://microservice-gateway-web-public
    authServer:
      authority: https://auth.staging.microservice.io # should be domain on production (https://auth.mydomain.com)
      requireHttpsMetadata: "false"
      isOnK8s: "true"
      metaAddress: http://microservice-authserver # should be container on production (http://microservice-az-authserver)
    dotnetEnv: Production 
    redisHost: microservice-redis
    rabbitmqHost: microservice-rabbitmq
    elasticsearchUrl: http://microservice-elasticsearch
  ingress:
    host: public-web.staging.microservice.io
    tlsSecret: staging.microservice.io
  image:
    repository: registry.digitalocean.com/microservice/microservice-app-public-web
    tag: latest
    pullPolicy: IfNotPresent

blazor:
  config:
    selfUrl: https://blazor.staging.microservice.io
    gatewayUrl: https://gateway-web.staging.microservice.io
    authServer:
      authority: https://auth.staging.microservice.io
      requireHttpsMetadata: "false"
      responseType: "code"
  ingress:
    host: blazor.staging.microservice.io
    tlsSecret: staging.microservice.io
  image:
    repository: registry.digitalocean.com/microservice/microservice-app-blazor
    tag: latest
    pullPolicy: IfNotPresent
# Default values for Microservice.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 1

It starts to working now, but I got following question:

In the dbmigrator log I got successful report:

[19:37:09 INF] Migrating Host side...
[19:37:10 INF] Migrating SaasService database...
[19:37:19 INF] Migrating AdministrationService database...
[19:37:25 INF] Migrating IdentityService database...
[19:37:29 INF] Migrating ProductService database...
[19:37:29 INF] All databases have been successfully migrated (HOST).
[19:37:36 INF] Migrating tenants...
[19:37:36 INF] Migration completed!

But the identity log says:

[19:44:43 INF] Saving external localizations...
[19:44:43 INF] Lock is acquired for db migration and seeding on database named: IdentityService...
[19:44:46 INF] Completed to save external localizations.
[19:44:47 INF] Lock is released for db migration and seeding on database named: IdentityService...
[19:44:47 INF] Seeding IdentityServer data...
[19:44:49 ERR] Exception of type 'Volo.Abp.BusinessException' was thrown.
[19:44:49 WRN] BusinessException has been thrown. The operation will be tried 2 times more. Exception:
Exception of type 'Volo.Abp.BusinessException' was thrown.
[19:45:01 INF] Seeding IdentityServer data...
[19:45:01 ERR] Exception of type 'Volo.Abp.BusinessException' was thrown.
[19:45:01 WRN] BusinessException has been thrown. The operation will be tried 1 times more. Exception:
Exception of type 'Volo.Abp.BusinessException' was thrown.
[19:45:12 INF] Seeding IdentityServer data...
[19:45:12 ERR] Exception of type 'Volo.Abp.BusinessException' was thrown.
[19:45:12 FTL] Microservice.IdentityService.HttpApi.Host terminated unexpectedly!
Volo.Abp.AbpInitializationException: An error occurred during the initialize Volo.Abp.Modularity.OnPostApplicationInitializationModuleLifecycleContributor phase of the module Microservice.IdentityService.IdentityServiceHttpApiHostModule, Microservice.IdentityService.HttpApi.Host, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: Exception of type 'Volo.Abp.BusinessException' was thrown.. See the inner exception for details.
 ---> Volo.Abp.BusinessException: Exception of type 'Volo.Abp.BusinessException' was thrown.
   at Microservice.IdentityService.DbMigrations.OpenIddictDataSeeder.CreateApplicationAsync(String name, String type, String consentType, String displayName, String secret, List`1 grantTypes, List`1 scopes, List`1 redirectUris, List`1 postLogoutRedirectUris, List`1 permissions, String clientUri, String logoUri) in /src/services/identity/src/Microservice.IdentityService.HttpApi.Host/DbMigrations/OpenIddictDataSeeder.cs:line 422

Any ideas?

Kind regards, Carl

24 kayıttan 11 ile 20 arası gösteriliyor.
Made with ❤️ on ABP v8.2.0-preview Updated on Mart 25, 2024, 15:11