-
-
Notifications
You must be signed in to change notification settings - Fork 41
Description
Operating System
Ubuntu 22.04.5 LTS
AMP Version and Build Date
AMP version 2.6.1.0 (Phobos), built 20/03/2025 20:49, 20250320.8
AMP Release Stream
Mainline
I confirm that
- I have searched for an existing bug report for this issue.
- I am using the latest available version of AMP.
- my operating system is up-to-date.
Intended Action
When logging out with an OIDC session, have the user redirect to the specified OIDCLogoutEndpoint.
Expected Behaviour
AMP triggers API.Core.Logout, which invalidates the token it was using for the user and redirects the user to the OIDCLogoutEndpoint.
Actual Behaviour
API.Core.Logout errors out, but the client still attempts logout anyway, redirecting the user to the login page, which because the redirect to OIDCLogoutEndpoint didn't happen, automatically logs in again into AMP. The only workaround right now is to logout at the OIDC provider first.
Error in log:
[17:16:16] [Core:System Admin Error/58] : MissingFieldException
[17:16:16] [Core:System Admin Error/58] : [0] (MissingFieldException) : Logout method requires session(WebSession) argument.
[17:16:16] [Core:System Admin Error/58] : at GSMyAdmin.WebServer.WebAttributes.InvokeMethod(String MethodName, JObject Data, HttpContext context, IWebSession Session, WebMethodsBase MethodsClass, IPAddress RealIP)
at GSMyAdmin.WebServer.ApiService.InvokeAPI(HttpContext context, IWebSession Session, JObject Data, String RequestModule, String RequestMethod)
Additionally, observation of the javascript code for the WebUI appears to be that it wouldn't redirect anyway? The WebUI script just sets some local values to null and then refreshes the UI.
Reproduction
- Install and configure AMP
- Setup your OIDC provider, configure (correctly this time!) ([OIDC] Fatally writes bad user to database if OIDC response is missing data #1312)
- Configure AMP to use your OIDC provider
- Login as OIDC user successfully
- Attempt logout