summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extensions/Persona/lib/Config.pm7
-rw-r--r--extensions/Persona/lib/Login.pm3
-rw-r--r--extensions/Persona/template/en/default/admin/params/persona.html.tmpl2
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>."
}
%]