diff options
-rw-r--r-- | extensions/Persona/lib/Config.pm | 7 | ||||
-rw-r--r-- | extensions/Persona/lib/Login.pm | 3 | ||||
-rw-r--r-- | extensions/Persona/template/en/default/admin/params/persona.html.tmpl | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/extensions/Persona/lib/Config.pm b/extensions/Persona/lib/Config.pm index 99c547b16..9c483cb51 100644 --- a/extensions/Persona/lib/Config.pm +++ b/extensions/Persona/lib/Config.pm @@ -27,7 +27,12 @@ sub get_param_list { name => 'persona_includejs_url', type => 't', default => 'https://login.persona.org/include.js', - } + }, + { + name => 'persona_proxy_url', + type => 't', + default => '', + }, ); return @param_list; diff --git a/extensions/Persona/lib/Login.pm b/extensions/Persona/lib/Login.pm index 62fca4d50..ece92a3c0 100644 --- a/extensions/Persona/lib/Login.pm +++ b/extensions/Persona/lib/Login.pm @@ -43,6 +43,9 @@ sub get_login_info { my $audience = $urlbase->scheme . "://" . $urlbase->host_port; my $ua = new LWP::UserAgent( timeout => 10 ); + if (Bugzilla->params->{persona_proxy_url}) { + $ua->proxy('https', Bugzilla->params->{persona_proxy_url}); + } my $response = $ua->post(Bugzilla->params->{persona_verify_url}, [ assertion => $assertion, diff --git a/extensions/Persona/template/en/default/admin/params/persona.html.tmpl b/extensions/Persona/template/en/default/admin/params/persona.html.tmpl index 5c060129b..ef3cf32d2 100644 --- a/extensions/Persona/template/en/default/admin/params/persona.html.tmpl +++ b/extensions/Persona/template/en/default/admin/params/persona.html.tmpl @@ -18,5 +18,7 @@ persona_includejs_url => "This is the URL needed by Persona to load the necessary " _ "javascript library for authentication. " _ "Example: <kbd>https://login.persona.org/include.js</kbd>." + persona_proxy_url => "The URL of a HTTPS proxy server (optional). " _ + "Example: <kbd>http://proxy.example.com:3128</kbd>." } %] |