Fix #5959: set OnRedirectToIdentityProvider events without overwrite previous settings.

This commit is contained in:
Ben
2026-01-16 10:28:59 +08:00
parent 9d42dac7d9
commit 8ba480f168

View File

@@ -129,18 +129,15 @@ namespace Oqtane.Extensions
options.Events.OnRemoteFailure = OnRemoteFailure; options.Events.OnRemoteFailure = OnRemoteFailure;
if (sitesettings.GetValue("ExternalLogin:Parameters", "") != "") if (sitesettings.GetValue("ExternalLogin:Parameters", "") != "")
{ {
options.Events = new OAuthEvents options.Events.OnRedirectToAuthorizationEndpoint = context =>
{ {
OnRedirectToAuthorizationEndpoint = context => var url = context.RedirectUri;
foreach (var parameter in sitesettings.GetValue("ExternalLogin:Parameters", "").Split(","))
{ {
var url = context.RedirectUri; url += (!url.Contains("?")) ? "?" + parameter : "&" + parameter;
foreach (var parameter in sitesettings.GetValue("ExternalLogin:Parameters", "").Split(","))
{
url += (!url.Contains("?")) ? "?" + parameter : "&" + parameter;
}
context.Response.Redirect(url);
return Task.FromResult(0);
} }
context.Response.Redirect(url);
return Task.FromResult(0);
}; };
} }
} }