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;
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]);
}
return Task.FromResult(0);
context.ProtocolMessage.SetParameter(parameter.Split("=")[0], parameter.Split("=")[1]);
}
return Task.FromResult(0);
};
}
}
@@ -132,18 +129,15 @@ namespace Oqtane.Extensions
options.Events.OnRemoteFailure = OnRemoteFailure;
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;
foreach (var parameter in sitesettings.GetValue("ExternalLogin:Parameters", "").Split(","))
{
url += (!url.Contains("?")) ? "?" + parameter : "&" + parameter;
}
context.Response.Redirect(url);
return Task.FromResult(0);
url += (!url.Contains("?")) ? "?" + parameter : "&" + parameter;
}
context.Response.Redirect(url);
return Task.FromResult(0);
};
}
}