aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/Controller/Report/New.pm
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2019-08-06 21:49:34 +0100
committerDave Arter <davea@mysociety.org>2019-08-16 16:16:53 +0100
commit66a5779a9856bd0cd25a77666f99bc86dd4a8041 (patch)
tree2b99bf81af9735967013219a523b2fd44c20c1f3 /perllib/FixMyStreet/App/Controller/Report/New.pm
parentbc05c15122a8032866fdb53d285d99b3e48b3e28 (diff)
Allow OIDC auth to provide its own ‘change password’ URI
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Report/New.pm')
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm10
1 files changed, 6 insertions, 4 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm
index a19c43af8..be812c040 100644
--- a/perllib/FixMyStreet/App/Controller/Report/New.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/New.pm
@@ -1331,10 +1331,12 @@ sub process_confirmation : Private {
$problem->user->update;
- # Make sure OIDC logout redirection happens, if applicable
- if ($data->{logout_redirect_uri}) {
- $c->session->{oauth} ||= ();
- $c->session->{oauth}{logout_redirect_uri} = $data->{logout_redirect_uri};
+ # Make sure extra oauth state is restored, if applicable
+ foreach (qw/logout_redirect_uri change_password_uri/) {
+ if ($data->{$_}) {
+ $c->session->{oauth} ||= ();
+ $c->session->{oauth}{$_} = $data->{$_};
+ }
}
}
if ($problem->user->email_verified) {