Bug 908338 - Create a new webservice called User.valid_login that will verify if a cookie or login token is valid for the current user

r=glob,a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264986 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bzrmirror%bugzilla.org 2013-08-27 03:37:52 +00:00
parent b11930d2c6
commit cceb62130f
3 changed files with 61 additions and 1 deletions

View File

@ -1 +1 @@
8716 8717

View File

@ -19,6 +19,11 @@ BEGIN {
sub _rest_resources { sub _rest_resources {
my $rest_resources = [ my $rest_resources = [
qr{^/valid_login$}, {
GET => {
method => 'valid_login'
}
},
qr{^/user$}, { qr{^/user$}, {
GET => { GET => {
method => 'get' method => 'get'

View File

@ -83,6 +83,17 @@ sub logout {
return undef; return undef;
} }
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 # # User Creation #
################# #################
@ -486,6 +497,50 @@ Log out the user. Does nothing if there is no user logged in.
=back =back
=head2 valid_login
B<UNSTABLE>
=over
=item B<Description>
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<Params>
=over
=item C<login>
The login name that matches the provided cookies or token.
=item C<token>
(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>
Returns true/false depending on if the current cookies or token are valid
for the provided username.
=item B<Errors> (none)
=item B<History>
=over
=item Added in Bugzilla B<5.0>.
=back
=back
=head1 Account Creation and Modification =head1 Account Creation and Modification
=head2 offer_account_by_email =head2 offer_account_by_email