Merge pull request #5960 from zyhfish/task/fix-5959
Fix #5959: set OnRedirectToIdentityProvider events without overwrite previous settings.
This commit is contained in:
@@ -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);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user