Merge pull request #5960 from zyhfish/task/fix-5959

Fix #5959: set OnRedirectToIdentityProvider events without overwrite previous settings.
This commit is contained in:
Shaun Walker
2026-01-16 11:20:41 -05:00
committed by GitHub

View File

@@ -84,16 +84,13 @@ namespace Oqtane.Extensions
options.Events.OnRemoteFailure = OnRemoteFailure; options.Events.OnRemoteFailure = OnRemoteFailure;
if (sitesettings.GetValue("ExternalLogin:Parameters", "") != "") if (sitesettings.GetValue("ExternalLogin:Parameters", "") != "")
{ {
options.Events = new OpenIdConnectEvents options.Events.OnRedirectToIdentityProvider = context =>
{ {
OnRedirectToIdentityProvider = context => foreach (var parameter in sitesettings.GetValue("ExternalLogin:Parameters", "").Split(","))
{ {
foreach (var parameter in sitesettings.GetValue("ExternalLogin:Parameters", "").Split(",")) context.ProtocolMessage.SetParameter(parameter.Split("=")[0], parameter.Split("=")[1]);
{
context.ProtocolMessage.SetParameter(parameter.Split("=")[0], parameter.Split("=")[1]);
}
return Task.FromResult(0);
} }
return Task.FromResult(0);
}; };
} }
} }
@@ -132,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);
}; };
} }
} }