Käyttäjän "mgurer" toiminnot

Kysymys

Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.

If you're creating a bug/problem report, please include followings:

  • ABP Framework version: v5.3.0
  • UI type: Blazor
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace:2022-07-01 15:19:44.232 +03:00 [DBG] Request path /connect/authorize matched to endpoint type Authorize 2022-07-01 15:19:44.237 +03:00 [DBG] Endpoint enabled: Authorize, successfully created handler: IdentityServer4.Endpoints.AuthorizeEndpoint 2022-07-01 15:19:44.237 +03:00 [INF] Invoking IdentityServer endpoint: IdentityServer4.Endpoints.AuthorizeEndpoint for /connect/authorize 2022-07-01 15:19:44.237 +03:00 [DBG] Start authorize request 2022-07-01 15:19:44.237 +03:00 [DBG] No user present in authorize request 2022-07-01 15:19:44.237 +03:00 [DBG] Start authorize request protocol validation 2022-07-01 15:19:44.252 +03:00 [DBG] client configuration validation for client CoMed_Blazor succeeded. 2022-07-01 15:19:44.252 +03:00 [DBG] Checking for PKCE parameters 2022-07-01 15:19:44.252 +03:00 [ERR] scopes too long.
  • Steps to reproduce the issue: 1 - Our project has 17 microservices. During authorization_code flow, when scope names are sent to to the identity server's authorize endpoint, a validator error about the length of scopes occurs. How can I override related settings? I have added the codes below to to configureservices method of authserver ui projecet, it did'nt work. Configure<IdentityServerOptions>(builder => { builder.InputLengthRestrictions.Scope = 1000000; }); 2- Türkçe destek istegi yapabilecegimiz bir adresiniz var mı? Bu şekilde sıkıcı oluyor.
Vastaus

Yes

Vastaus

Below is the related request body - log;

{"ClientId":"CoMed_Blazor","ClientName":"CoMed_Blazor","RedirectUri":"https://???.???.com.tr/authentication/login-callback","AllowedRedirectUris":["http://???/#/login-callback","https://????/authentication/login-callback","https://???/Home/Privacy","https://???/#/login-callback"],"SubjectId":"anonymous","ResponseType":"code","ResponseMode":"query","GrantType":"authorization_code","RequestedScopes":"","State":"a7b59c9e5c9a492bb31807792b623bcc","UiLocales":null,"Nonce":null,"AuthenticationContextReferenceClasses":null,"DisplayMode":null,"PromptMode":"","MaxAge":null,"LoginHint":null,"SessionId":null,"Raw":{"client_id":"CoMed_Blazor","redirect_uri":"https://???/authentication/login-callback","response_type":"code","scope":"openid profile role email phone AuthServer IdentityService AdministrationService SaasService TimelineService AppointmentService ResourceService EResultService PrescriptionService ProfileService ConnectorService VideoService IOService PaymentService MessageService SurveyService ContentService AgentService","state":"a7b59c9e5c9a492bb31807792b623bcc","code_challenge":"uyU0F1tAHimKrLwGDJ8OgUB47A0zx6DXV3zVPbF5XnM","code_challenge_method":"S256","response_mode":"query"},"$type":"AuthorizeRequestValidationLog"}

Vastaus

I have tried to rename the scope names in database by getting rid of the "Service" postfix to minimize the total scopes length but admin ui somehow kept asking for the original scope names during the authentication flow. I could not figure out how to shorten the names properly. I can not figure out where to change in the application code to override original scope names.

Vastaus

I have updated all of the scope names in the database. Removed the redis image from docker and re-installed it.

I have tested the updated scope names in a small test app, it works properly. No more scope lenght error occurs. This will give me some time, I hope you figure out a proper fix about the error till then.

  • ABP Framework version: v6.0.0

  • UI type: Blazor

  • DB provider: EF Core

  • Tiered (MVC) or Identity Server Separated (Angular): yes

  • Exception message and stack trace: global.js?_v=637992658989889926:66 fail: Demo.ProductService.Blazor.Pages.ProductService.Products[0] Could not found remote action for method: System.Threading.Tasks.Task1[Volo.Abp.Application.Dtos.PagedResultDto1[Demo.ProductService.Products.ProductDto]] GetListAsync(Demo.ProductService.Products.GetProductsInput) on the URL: https://localhost:44325 Volo.Abp.AbpException: Could not found remote action for method: System.Threading.Tasks.Task1[Volo.Abp.Application.Dtos.PagedResultDto1[Demo.ProductService.Products.ProductDto]] GetListAsync(Demo.ProductService.Products.GetProductsInput) 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.DynamicHttpProxyInterceptor1.<GetActionApiDescriptionModel>d__25[[Demo.ProductService.Products.IProductAppService, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext() at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor1.<InterceptAsync>d__24[[Demo.ProductService.Products.IProductAppService, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext() at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.<InterceptAsync>d__31[[Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor1[[Demo.ProductService.Products.IProductAppService, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Volo.Abp.Http.Client, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null],[Volo.Abp.Application.Dtos.PagedResultDto1[[Demo.ProductService.Products.ProductDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Volo.Abp.Ddd.Application.Contracts, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext() at Castle.DynamicProxy.AsyncInterceptorBase.<ProceedAsynchronous>d__141[[Volo.Abp.Application.Dtos.PagedResultDto1[[Demo.ProductService.Products.ProductDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Volo.Abp.Ddd.Application.Contracts, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext() at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.<ProceedAsync>d__7[[Volo.Abp.Application.Dtos.PagedResultDto1[[Demo.ProductService.Products.ProductDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Volo.Abp.Ddd.Application.Contracts, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext() at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.<InterceptAsync>d__31[[Volo.Abp.Validation.ValidationInterceptor, Volo.Abp.Validation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null],[Volo.Abp.Application.Dtos.PagedResultDto1[[Demo.ProductService.Products.ProductDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Volo.Abp.Ddd.Application.Contracts, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext() at Volo.Abp.BlazoriseUI.AbpCrudPageBase10.<GetEntitiesAsync>d__61[[Demo.ProductService.Products.IProductAppService, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Demo.ProductService.Products.ProductDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Demo.ProductService.Products.ProductDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Guid, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Demo.ProductService.Products.GetProductsInput, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Demo.ProductService.Products.ProductCreateDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Demo.ProductService.Products.ProductUpdateDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Demo.ProductService.Products.ProductDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Demo.ProductService.Products.ProductCreateDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Demo.ProductService.Products.ProductUpdateDto, Demo.ProductService.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()

  • Steps to reproduce the issue: 1- Create New Project: abp new Demo -t microservice-pro -u blazor 2- Go to services\product\src\Demo.ProductService.HttpApi.Client folder 3- Edit ProductServiceHttpApiClientModule.cs, change AddStaticHttpClientProxies to AddHttpClientProxies 4- Run project, login into blozor site and click on the products tab, see the error. 5- Interestingly when you add new remoteservice path addresing the Product Service Host domainname to the appsettings file of the master blazor project, blazor site starts working. But with this method, you simply bypass the web gateway and directly communicate with product microservice. 6- Another note, updating c# client proxies using cli even does not run, gives error. So using static proxies is not on the table. Here is the error stack trace; abp generate-proxy -t csharp -u http://localhost:44361/

System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.IO.IOException: The response ended prematurely. at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at Volo.Abp.Cli.ServiceProxying.ServiceProxyGeneratorBase1.GetApplicationApiDescriptionModelAsync(GenerateProxyArgs args) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ServiceProxying\ServiceProxyGeneratorBase.cs:line 36 at Volo.Abp.Cli.ServiceProxying.CSharp.CSharpServiceProxyGenerator.GenerateProxyAsync(GenerateProxyArgs args) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ServiceProxying\CSharp\CSharpServiceProxyGenerator.cs:line 78 at Volo.Abp.Cli.Commands.ProxyCommandBase1.ExecuteAsync(CommandLineArgs commandLineArgs) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\Commands\ProxyCommandBase.cs:line 56 at Volo.Abp.Cli.CliService.RunInternalAsync(CommandLineArgs commandLineArgs) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\CliService.cs:line 167 at Volo.Abp.Cli.CliService.RunAsync(String[] args) in D:\ci\Jenkins\workspace\abp-framework-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\CliService.cs:line 75

7- I need to run blazor site with my dynamic proxied micro services. 8- Another issue is that when you set up a new project as described in step 1, and run the blazor site, app welcomes you with an error dialog. You can simply click ok to continue, but it is also annoying. Error says: Could not find 'afterLeptonXInitialization' 9- I hope you can suggest a quick solution for the problem, it took days for me to upgrade the entire solution, and I dont wish to rollback.

I have figured out the proxy problem. I added reference to product api project and inserted following code to the gatewaymodule.cs

app.MapWhen(
            ctx => ctx.Request.Path.ToString().StartsWith("/api/abp/api-definition") ||
                   ctx.Request.Path.ToString().TrimEnd('/').Equals(""),
            app2 =>
            {
                app2.UseRouting();
                app2.UseConfiguredEndpoints();
            }
        );
        app.MapWhen(
            ctx => ctx.Request.Path.ToString().StartsWith("/metrics"),
            app2 =>
            {
                app2.UseRouting();
                app2.UseHttpMetrics();
                app2.UseConfiguredEndpoints(endpoints =>
                {
                    endpoints.MapMetrics();
                });
            }
        );

It fixed the issue.

Issue stated at step 8 can be answered. I still get the "Could not find 'afterLeptonXInitialization'" error on first run.

Hi Malik,

After a bit of work, dynamic proxies works as expected. I somehow managed to run microservices with dynamic proxies.

I will be glad if any solution for afterLeptonXInitialization error is supplied.

Thanks in advance. Regars.

Thanks.

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

Hi, there was a class named DefaultTokenService of IdentityServer4. After switching to OpendIddict, the class is missing. I used to override that class in AuthServer project and add some dynamic claims to token.

Can you suggest me a new way for the missing class?

Thanks.

Näytetään 1 - 10/54 tietueesta
Made with ❤️ on ABP v8.2.0-preview Updated on maaliskuuta 25, 2024, 15.11