Use different names for API resources
can you check your
IdentityServerApiResources
table. I guess there are duplicate records. if so delete one.
I have checked, no duplicate records there, if rollback to verson 4.2.2, it works as expected
Upgraded identity server project to 4.3.0-rc.2, api resource with duplicated name issue in the store,
&response_type=code%20id_token&scope=openid%20profile%20role%20email%20phone%20School%20FM&response_mode=form_post&nonce=637539299648315756.NmMxZTMyN2EtZjFiOC00YTEzLTk1ZTUtNTg3ODI0ZjJiYTU4MzgwYjRlNzctMGNhOS00ZWU1LWIwZmQtZGU4YjQ0MDAwOGEy&state=CfDJ8KXRcooiqfRLnHfapkfMabZETbZS2HZ0x1fg-imyenT2TgiX-TElW5OkEnmFRSMLeIU0PqrbYYFeTffFpIQCN3j_jUCkWmI2fbcuwePKzJxmE-gvAMN8tG95Zy9-51iAN1kK9FvV0DIv7iEaWR_gYV6P_LC0JurxL7yUXfMLocsXMl8xOMpBnMPR_vwOp1JBqxie7fPZlpc9y6MaRYEhiJTtDrav_9A9F5QUQ64NZ4B-XZNZRVRlCMm5z9VX8mxW9UP297i44tIak0TqFV3t4kW_-WUs6QooYj2Aqt7qmmst6J6iTTMLqgWsMj_0gP_gSg&x-client-SKU=ID_NETSTANDARD2_0&x-client-ver=6.7.1.0 - - 2021-04-14 00:59:25.116 +08:00 [INF] Invoking IdentityServer endpoint: IdentityServer4.Endpoints.AuthorizeEndpoint for /connect/authorize 2021-04-14 00:59:25.149 +08:00 [INF] {"Details":"System.Exception: Duplicate api resources found. This is an invalid configuration. Use different names for API resources. Names found: School\r\n at IdentityServer4.Stores.IResourceStoreExtensions.Validate(IEnumerable
1 identity, IEnumerable1 apiResources, IEnumerable
1 apiScopes)\r\n at IdentityServer4.Stores.IResourceStoreExtensions.FindResourcesByScopeAsync(IResourceStore store, IEnumerable1 scopeNames)\r\n at IdentityServer4.Stores.IResourceStoreExtensions.FindEnabledResourcesByScopeAsync(IResourceStore store, IEnumerable
1 scopeNames)\r\n at IdentityServer4.Validation.DefaultResourceValidator.ValidateRequestedResourcesAsync(ResourceValidationRequest request)\r\n at IdentityServer4.Validation.AuthorizeRequestValidator.ValidateScopeAsync(ValidatedAuthorizeRequest request)\r\n at IdentityServer4.Validation.AuthorizeRequestValidator.ValidateAsync(NameValueCollection parameters, ClaimsPrincipal subject)\r\n at IdentityServer4.Endpoints.AuthorizeEndpointBase.ProcessAuthorizeRequestAsync(NameValueCollection paramet`Once rollback to ver 4.2.2, it works fine
hi, we don't have an issue about a duplicate endpoint. I see in the log
Names found: School\r\n at IdentityServer4.Stores.
School is not an ABP entity
Yes, it is the name of my project, my meaning is that after upgraded to 4.3.0-rc.2, encountered this error, roll back to 4.2.2 it works fine, same configuration and the same data in database, is there a reason caused this happened?
Upgraded identity server project to 4.3.0-rc.2, api resource with duplicated name issue in the store,
&response_type=code%20id_token&scope=openid%20profile%20role%20email%20phone%20School%20FM&response_mode=form_post&nonce=637539299648315756.NmMxZTMyN2EtZjFiOC00YTEzLTk1ZTUtNTg3ODI0ZjJiYTU4MzgwYjRlNzctMGNhOS00ZWU1LWIwZmQtZGU4YjQ0MDAwOGEy&state=CfDJ8KXRcooiqfRLnHfapkfMabZETbZS2HZ0x1fg-imyenT2TgiX-TElW5OkEnmFRSMLeIU0PqrbYYFeTffFpIQCN3j_jUCkWmI2fbcuwePKzJxmE-gvAMN8tG95Zy9-51iAN1kK9FvV0DIv7iEaWR_gYV6P_LC0JurxL7yUXfMLocsXMl8xOMpBnMPR_vwOp1JBqxie7fPZlpc9y6MaRYEhiJTtDrav_9A9F5QUQ64NZ4B-XZNZRVRlCMm5z9VX8mxW9UP297i44tIak0TqFV3t4kW_-WUs6QooYj2Aqt7qmmst6J6iTTMLqgWsMj_0gP_gSg&x-client-SKU=ID_NETSTANDARD2_0&x-client-ver=6.7.1.0 - - 2021-04-14 00:59:25.116 +08:00 [INF] Invoking IdentityServer endpoint: IdentityServer4.Endpoints.AuthorizeEndpoint for /connect/authorize 2021-04-14 00:59:25.149 +08:00 [INF] {"Details":"System.Exception: Duplicate api resources found. This is an invalid configuration. Use different names for API resources. Names found: School\r\n at IdentityServer4.Stores.IResourceStoreExtensions.Validate(IEnumerable
1 identity, IEnumerable1 apiResources, IEnumerable
1 apiScopes)\r\n at IdentityServer4.Stores.IResourceStoreExtensions.FindResourcesByScopeAsync(IResourceStore store, IEnumerable1 scopeNames)\r\n at IdentityServer4.Stores.IResourceStoreExtensions.FindEnabledResourcesByScopeAsync(IResourceStore store, IEnumerable
1 scopeNames)\r\n at IdentityServer4.Validation.DefaultResourceValidator.ValidateRequestedResourcesAsync(ResourceValidationRequest request)\r\n at IdentityServer4.Validation.AuthorizeRequestValidator.ValidateScopeAsync(ValidatedAuthorizeRequest request)\r\n at IdentityServer4.Validation.AuthorizeRequestValidator.ValidateAsync(NameValueCollection parameters, ClaimsPrincipal subject)\r\n at IdentityServer4.Endpoints.AuthorizeEndpointBase.ProcessAuthorizeRequestAsync(NameValueCollection paramet`
Once rollback to ver 4.2.2, it works fine
With 4.3.0-rc.2, the CMS-Kit public page controller not registered, cannot visit a page by slug from public site.
The error logs as below:
2021-04-10 15:30:18.186 +08:00 [INF] Executing endpoint 'Volo.CmsKit.Public.Pages.PagesPublicController.FindBySlugAsync (Volo.CmsKit.Public.HttpApi)' 2021-04-10 15:30:18.201 +08:00 [INF] Route matched with {area = "cms-kit", action = "FindBySlug", controller = "PagesPublic", page = ""}. Executing controller action with signature System.Threading.Tasks.Task
1[Volo.CmsKit.Public.Pages.PageDto] FindBySlugAsync(System.String) on controller Volo.CmsKit.Public.Pages.PagesPublicController (Volo.CmsKit.Public.HttpApi).
2021-04-10 15:30:18.264 +08:00 [ERR] ---------- RemoteServiceErrorInfo ----------
{
"code": null,
"message": "An internal error occurred during your request!",
"details": null,
"data": {},
"validationErrors": null
}
2021-04-10 15:30:18.265 +08:00 [ERR] The requested service 'Volo.CmsKit.Public.Pages.PagesPublicController' has not been registered. To avoid this exception, either register a component to provide the service, check for service registration using IsRegistered(), or use the ResolveOptional() method to resolve an optional dependency. Autofac.Core.Registration.ComponentNotRegisteredException: The requested service 'Volo.CmsKit.Public.Pages.PagesPublicController' has not been registered. To avoid this exception, either register a component to provide the service, check for service registration using IsRegistered(), or use the ResolveOptional() method to resolve an optional dependency.`
Hi Could you share a simple project to reproduce the problem? thanks
Yes, Can I contact with you via QQ? Then I can send you my production application information
I am upgrading my application from Asp.Net ZERO with aspnetboilerplate to abp vNext, now some features have been migrated to abp vNext, but I found the razor page load slowly, the api also take more time than the Asp.Net ZERO done.
Generally, If any data needs to be bound to a razor page on the OnGetAsync method, the razor page will needs to more than 1 second to 5 seconds to render page (if more select controls data needs to be bound to the control), if no data needs to be bound to the select control on the OnGetAsync method or no enmuerated types to be bound, the razor page could be render and load to client less than 200 ms.
Also, compare to the Asp.Net ZERO, on the same server the Asp.Net ZERO application could load an API call with less than 200 ms per request, but the application with vNext an API request needs more the 900ms or 1 second to load data to the client.
Neither a razor page or an API request, if needs more than 1 second, the user will feel the application is slowly and cannot wait it anymore.
Is there a performance issue on the razor page load with tag helper and the HttpApi Controller with API application service?
Some screenshots compare Asp.Net ZERO application and the vNext application: MVC page with lots of select control data load on the page, the request waiting time as below: The remote API request, waiting time as below:
The vNext razor page with some select control data load on the page, the request waiting time as below: The remote API request, waiting time as below:
It seems the HttpApi project spent some time cost to auto define the API controllers.
have you fixed it?
A little confuses about your advice, I am always use one dev computer (computer name never changed) to debug the app and the suite tool only be used when prepare for debugging the app, what is the production environment meaning?
When I using the abp suite tools, I got an error like below:
[01:38:55 ERR] ABP-LIC-0012 - License Error! Given user 'trendline' has reached the maximum allowed developer computer count (2) for the organization 'Trendline'! Can not use the license in a new computer. Contact to license@abp.io if you think that this is an error. [01:38:55 ERR] ABP-LIC-0008 - License check failed for 'Volo.Abp.Suite-v4.0.2.0'.
For more information, contact to license@abp.io. Shutting down...
In fact, only one user is be allowed to use this tool.
Please help resolve it. I have sent a mail to license@abp.io