Skip to content

Commit

Permalink
Backed out Bug 1001462 - Bug.search causes error when using simple to…
Browse files Browse the repository at this point in the history
…ken auth and specifying 'token' instead of 'Bugzilla_token'
  • Loading branch information
dklawren committed May 12, 2014
1 parent 1d6e06b commit ad99e9d
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 11 deletions.
8 changes: 7 additions & 1 deletion Bugzilla/WebService/User.pm
Expand Up @@ -55,10 +55,16 @@ sub login {

# Username and password params are required
foreach my $param ("login", "password") {
(!defined $params->{$param} && !defined $params->{'Bugzilla_' . $param})
defined $params->{$param}
|| ThrowCodeError('param_required', { param => $param });
}

# Make sure the CGI user info class works if necessary.
my $input_params = Bugzilla->input_params;
$input_params->{'Bugzilla_login'} = $params->{login};
$input_params->{'Bugzilla_password'} = $params->{password};
$input_params->{'Bugzilla_restrictlogin'} = $params->{restrict_login};

my $user = Bugzilla->login();

my $result = { id => $self->type('int', $user->id) };
Expand Down
22 changes: 12 additions & 10 deletions Bugzilla/WebService/Util.pm
Expand Up @@ -146,16 +146,18 @@ sub params_to_objects {

sub fix_credentials {
my ($params) = @_;
# Allow user to pass in login, password, restrict_login, and
# token as short-cuts to the longer versions.
$params->{'Bugzilla_login'} = delete $params->{'login'}
if exists $params->{'login'};
$params->{'Bugzilla_password'} = delete $params->{'password'}
if exists $params->{'password'};
$params->{'Bugzilla_restrictlogin'} = delete $params->{'restrict_login'}
if exists $params->{'restrict_login'};
$params->{'Bugzilla_token'} = delete $params->{'token'}
if exists $params->{'token'};
# Allow user to pass in login=foo&password=bar as a convenience
# even if not calling User.login. We also do not delete them as
# User.login requires "login" and "password".
if (exists $params->{'login'} && exists $params->{'password'}) {
$params->{'Bugzilla_login'} = $params->{'login'};
$params->{'Bugzilla_password'} = $params->{'password'};
}
# Allow user to pass token=12345678 as a convenience which becomes
# "Bugzilla_token" which is what the auth code looks for.
if (exists $params->{'token'}) {
$params->{'Bugzilla_token'} = $params->{'token'};
}
}

__END__
Expand Down

0 comments on commit ad99e9d

Please sign in to comment.