From 745fdb4bd5b582db6266ea20cb0597208820548b Mon Sep 17 00:00:00 2001 From: Dave Lawrence Date: Thu, 12 Sep 2013 21:57:13 -0400 Subject: Bug 909442 - backport upstream bug 908338 to bmo/4.2 to add User.valid_login webservice method --- Bugzilla/WebService/User.pm | 55 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'Bugzilla/WebService/User.pm') diff --git a/Bugzilla/WebService/User.pm b/Bugzilla/WebService/User.pm index 32e11a2a4..7aa1a626b 100644 --- a/Bugzilla/WebService/User.pm +++ b/Bugzilla/WebService/User.pm @@ -94,6 +94,17 @@ sub logout { Bugzilla->logout; } +sub valid_login { + my ($self, $params) = @_; + defined $params->{login} + || ThrowCodeError('param_required', { param => 'login' }); + Bugzilla->login(); + if (Bugzilla->user->id && Bugzilla->user->login eq $params->{login}) { + return $self->type('boolean', 1); + } + return $self->type('boolean', 0); +} + ################# # User Creation # ################# @@ -424,6 +435,50 @@ Log out the user. Does nothing if there is no user logged in. =back +=head2 valid_login + +B + +=over + +=item B + +This method will verify whether a client's cookies or current login +token is still valid or have expired. A valid username must be provided +as well that matches. + +=item B + +=over + +=item C + +The login name that matches the provided cookies or token. + +=item C + +(string) Persistent login token current being used for authentication (optional). +Cookies passed by client will be used before the token if both provided. + +=back + +=item B + +Returns true/false depending on if the current cookies or token are valid +for the provided username. + +=item B (none) + +=item B + +=over + +=item Added in Bugzilla B<5.0>. + +=back + +=back + =head1 Account Creation =head2 offer_account_by_email -- cgit v1.2.3-24-g4f1b