simpleidserver / SimpleIdServer

OpenID, OAuth 2.0, SCIM2.0, UMA2.0, FAPI, CIBA & OPENBANKING Framework for ASP.NET Core
https://simpleidserver.com/
Apache License 2.0
716 stars 94 forks source link

The sample encountered a problem #706

Closed qq1176914912 closed 6 months ago

qq1176914912 commented 7 months ago

Hello. (CIBA) Example After receiving the verification address, enter this address and click Confirm. An error occurs: image 5001 Error: image I remember there was no problem before, I don't know why now, all the certificates have not expired.

simpleidserver commented 7 months ago

This issue will be fixed in the ticket #687

simpleidserver commented 6 months ago

This issue is fixed in the master branch :)

qq1176914912 commented 6 months ago

This issue is fixed in the master branch :)

1、I tested the ciba project, and I found that when I logged in with the account declared in the ciba project, the 5001 address reported an error: image

Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1] An unhandled exception has occurred while executing the request. System.Reflection.TargetException: Non-static method requires a target. at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.PropertyInfo.GetValue(Object obj) at SimpleIdServer.IdServer.Extractors.PropertyClaimExtractor.Extract(HandlerContext context, IClaimMappingRule mappingRule) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer\Extractors\PropertyClaimExtractor.cs:line 26 at SimpleIdServer.IdServer.Extractors.ClaimsExtractor.Extract(HandlerContext context, IEnumerable1 mappingRules) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer\Extractors\ClaimsExtractor.cs:line 54 at SimpleIdServer.IdServer.Extractors.ClaimsExtractor.ResolveGroupsAndExtract(HandlerContext context, IEnumerable1 mappingRules) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer\Extractors\ClaimsExtractor.cs:line 45 at SimpleIdServer.IdServer.Api.Token.TokenBuilders.AccessTokenBuilder.Build(BuildTokenParameter parameter, HandlerContext handlerContext, CancellationToken cancellationToken, Boolean useOriginalRequest) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer\Api\Token\TokenBuilders\AccessTokenBuilder.cs:line 49 at SimpleIdServer.IdServer.Api.Token.Handlers.CIBAHandler.Handle(HandlerContext context, CancellationToken cancellationToken) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer\Api\Token\Handlers\CIBAHandler.cs:line 75 at SimpleIdServer.IdServer.Api.Token.Handlers.CIBAHandler.Handle(HandlerContext context, CancellationToken cancellationToken) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer\Api\Token\Handlers\CIBAHandler.cs:line 123 at SimpleIdServer.IdServer.Api.Token.TokenController.Post(String prefix, TokenRequest request, CancellationToken token) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer\Api\Token\TokenController.cs:line 46 at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.gAwaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.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.gAwaited|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() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.gLogged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Routing.EndpointMiddleware.gAwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at SimpleIdServer.IdServer.Swagger.SidSwaggerUIMiddleware.Invoke(HttpContext httpContext) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer.Swagger\SIDSwaggerUIMiddleware.cs:line 81 at SimpleIdServer.IdServer.Swagger.SIDSwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer.Swagger\SIDSwaggerMiddleware.cs:line 37 at SimpleIdServer.IdServer.Middlewares.MtlsAuthenticationMiddleware.InvokeAsync(HttpContext context) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer\Middlewares\MtlsAuthenticationMiddleware.cs:line 44 at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at SimpleIdServer.IdServer.Middlewares.LanguageMiddleware.InvokeAsync(HttpContext context) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer\Middlewares\LanguageMiddleware.cs:line 28 at SimpleIdServer.IdServer.Middlewares.RealmMiddleware.InvokeAsync(HttpContext context) in D:\Aila\FW-IAM-Casbin\src\IdServer\SimpleIdServer.IdServer\Middlewares\RealmMiddleware.cs:line 62 at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)

2、The previous problem appears again: even if I do not apply the account set in ciba, the authorization can still be successful, and "The consent is confirmed" is displayed. https://github.com/simpleidserver/SimpleIdServer/issues/686#issuecomment-1899490583

qq1176914912 commented 6 months ago

I saw that you completed "gotify", I tried to use ciba to test, I changed the notification method of the account used by ciba to "gotify" : image When I started ciba I found that there was no message in gotify: image According to the official document "(https://gotify.net/docs/pushmsg)" push message needs address, port, token and message, but I see that your configuration for "gotify" only has the address account password, so how to use this thing? And if you create a process for "gotify" in ACR, when you click on it, the page is blank. image

simpleidserver commented 6 months ago

CIBA Confirmation by Any User

Security has been re-enabled in the BC Channel authorization endpoint.

Gotify

The goal of the Gotify notification method is to replace Firebase for receiving CIBA notifications directly in the mobile application. With this method, you can enroll the mobile application without using Firebase.

It's normal that messages are not pushed to Gotify if your user hasn't enrolled their mobile application. We will create a tutorial (Ticket #711) to explain how to enroll a mobile application with Gotify in SimpleIdServer.

In the ACRS view, we removed all PUSH methods such as Gotify and Firebase.

Unable to Retrieve Claims (Exception)

This issue is also fixed in the master branch.

qq1176914912 commented 6 months ago

CIBA Confirmation by Any User

Security has been re-enabled in the BC Channel authorization endpoint.

Gotify

The goal of the Gotify notification method is to replace Firebase for receiving CIBA notifications directly in the mobile application. With this method, you can enroll the mobile application without using Firebase.

It's normal that messages are not pushed to Gotify if your user hasn't enrolled their mobile application. We will create a tutorial (Ticket #711) to explain how to enroll a mobile application with Gotify in SimpleIdServer.

In the ACRS view, we removed all PUSH methods such as Gotify and Firebase.

Unable to Retrieve Claims (Exception)

This issue is also fixed in the master branch.

The problem has been resolved, thank you for your modification.