From 5a097c75184e6caadf5d9e14c0256503371cefe6 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sun, 16 Nov 2025 18:30:03 +0800 Subject: [PATCH] :bug: Allow user to implitctly set oidc flow type --- DysonNetwork.Pass/Auth/OpenId/OidcController.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/DysonNetwork.Pass/Auth/OpenId/OidcController.cs b/DysonNetwork.Pass/Auth/OpenId/OidcController.cs index 1291aa5..0d8512e 100644 --- a/DysonNetwork.Pass/Auth/OpenId/OidcController.cs +++ b/DysonNetwork.Pass/Auth/OpenId/OidcController.cs @@ -26,16 +26,17 @@ public class OidcController( public async Task OidcLogin( [FromRoute] string provider, [FromQuery] string? returnUrl = "/", - [FromQuery] string? deviceId = null + [FromQuery] string? deviceId = null, + [FromQuery] string? flow = null ) { - logger.LogInformation("OIDC login request for provider {Provider} with returnUrl {ReturnUrl} and deviceId {DeviceId}", provider, returnUrl, deviceId); + logger.LogInformation("OIDC login request for provider {Provider} with returnUrl {ReturnUrl}, deviceId {DeviceId} and flow {Flow}", provider, returnUrl, deviceId, flow); try { var oidcService = GetOidcService(provider); // If the user is already authenticated, treat as an account connection request - if (HttpContext.Items["CurrentUser"] is SnAccount currentUser) + if (flow != "login" && HttpContext.Items["CurrentUser"] is SnAccount currentUser) { var state = Guid.NewGuid().ToString(); var nonce = Guid.NewGuid().ToString();