- ABP Framework version: v4.4.3
- UI Type: Angular
- Database System: EF Core (SQL Server)
- Tiered (for MVC) or Auth Server Separated (for Angular): no
- Exception message and full stack trace: [07:06:12 INF] Failed to validate the token. Microsoft.IdentityModel.Tokens.SecurityTokenInvalidIssuerException: IDX10205: Issuer validation failed. Issuer: 'System.String'. Did not match: validationParameters.ValidIssuer: 'System.String' or validationParameters.ValidIssuers: 'System.String'. at Microsoft.IdentityModel.Tokens.Validators.ValidateIssuer(String issuer, SecurityToken securityToken, 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.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync() [07:06:12 INF] Bearer was not authenticated. Failure message: IDX10205: Issuer validation failed. Issuer: 'System.String'. Did not match: validationParameters.ValidIssuer: 'System.String' or validationParameters.ValidIssuers: 'System.String'. [07:06:12 INF] Executing endpoint 'KMS.Controllers.Kiosks.KioskController.updateKioskStatus (KMS.HttpApi)' [07:06:12 INF] Route matched with {area = "app", controller = "Kiosk", action = "updateKioskStatus", page = ""}. Executing controller action with signature System.Threading.Tasks.Task updateKioskStatus(System.String) on controller KMS.Controllers.Kiosks.KioskController (KMS.HttpApi). [07:06:12 INF] Executing action method KMS.Controllers.Kiosks.KioskController.updateKioskStatus (KMS.HttpApi) - Validation state: Valid [07:06:12 INF] Authorization failed. These requirements were not met: PermissionRequirement: KMS.Kiosks [07:06:12 WRN] ---------- RemoteServiceErrorInfo ---------- { "code": "Volo.Authorization:010001", "message": "Authorization failed! Given policy has not granted.", "details": null, "data": {}, "validationErrors": null }
[07:06:12 WRN] Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown.
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(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync()
at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync()
at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync()
at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync()
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at lambda_method3373(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
[07:06:12 WRN] Code:Volo.Authorization:010001
Error We saw from other part of the log.
[07:06:23 ERR] An exception was thrown attempting to execute the error handler.
System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
at System.Collections.Generic.Dictionary2.FindValue(TKey key) at System.Collections.Generic.Dictionary
2.TryGetValue(TKey key, TValue& value)
at Volo.Abp.DependencyInjection.AbpLazyServiceProvider.LazyGetRequiredService(Type serviceType)
at Volo.Abp.DependencyInjection.AbpLazyServiceProvider.LazyGetRequiredServiceT
at Volo.Abp.Domain.Repositories.EntityFrameworkCore.EfCoreRepository2.GetDbContextAsync() at Volo.Abp.Domain.Repositories.EntityFrameworkCore.EfCoreRepository
2.GetDbSetAsync()
..................................
--- End of stack trace from previous location ---
at Dynatrace.OneAgent.Introspection.Shared.OwinMiddlewareBase1.Invoke(Context context) at Microsoft.AspNetCore.Server.IIS.Core.IISHttpContextOfT
1.ProcessRequestAsync()
- Steps to reproduce the issue: unable to reproduce as it's occurred without any reason or changes in the environment.
Hi, the API suddenly encounter this error and keep repeating the same error until we restart the IIS(App).
12 Answer(s)
-
0
Hello,
Please check the similar issue https://support.abp.io/QA/Questions/5441/IDX10205-Issuer-validation-failed
-
0
Hello,
Please check the similar issue https://support.abp.io/QA/Questions/5441/IDX10205-Issuer-validation-failed
Hi,
I saw it's about prolonging the token time. But our issue is when it's trying to get token it encounters some error. It's been the same period for the token expiring time. Any idea what's the 2nd error message about? Or is there any option we can turn on to get even more details log?
-
0
Hi,
Or is there any option we can turn on to get even more details log?
You can set
IdentityModelEventSource.ShowPII
= true; -
0
Hi,
Or is there any option we can turn on to get even more details log?
You can set
IdentityModelEventSource.ShowPII
= true;Hi,
Other than this, anything thing else we can do? I can share the full log, can you take a look at it?
-
0
Hi,
This is enough, ok please share the log. thanks.
-
0
Hi,
This is enough, ok please share the log. thanks.
Hi,
Is there an email i can attached the log file? It's too large to share it here.
-
0
Hi,
My email is shiwei.liang@volosoft.com
-
0
Hi,
My email is shiwei.liang@volosoft.com
Hi,
I just sent the log.
-
0
Hi,
I have checked.
Did you try this and redeploy the application?
IdentityModelEventSource.ShowPII = true;
BTW It happens because the issuer is automatically set by the request. Set issuer to fix this problem In AuthServerModule.cs or HttpApiHostModule.cs as follows:
Configure<IdentityServerOptions>(options => { options.IssuerUri = configuration["App:SelfUrl"]; });
-
0
Hi,
I have checked.
Did you try this and redeploy the application?
IdentityModelEventSource.ShowPII = true;
BTW It happens because the issuer is automatically set by the request. Set issuer to fix this problem In AuthServerModule.cs or HttpApiHostModule.cs as follows:
Configure<IdentityServerOptions>(options => { options.IssuerUri = configuration["App:SelfUrl"]; });
Hi,
I haven't deployed as the environment is strictly control and we cannot make any deployment until next year. Is there any impact to performance if i set the IdentityModelEventSource.ShowPII = true;` for a prolong period?
Sorry, I don't fully understand what you mean by "the issuer is automatically set by the request", is there any article related you can share with me?
-
0
Hi,
You can check the document: https://identityserver4.readthedocs.io/en/latest/reference/options.html
-
0
Is there any impact to performance if i set the IdentityModelEventSource.ShowPII = true;` for a prolong period?
It will not affect performance. But it will write some sensitive information in the log. See: https://stackoverflow.com/questions/62820026/what-information-is-logged-by-identitymodel-when-showpii-is-set-to-true