diff options
author | mkanat%bugzilla.org <> | 2008-08-07 06:38:22 +0200 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2008-08-07 06:38:22 +0200 |
commit | 70540fb131c58cf4fb012854759eef2d73528a30 (patch) | |
tree | 82b80ac0bebf506a2852a71606f52bda32f195d0 /extensions | |
parent | bea9199267de2fe96c3214f17b4119ae87dd6a26 (diff) | |
download | bugzilla-70540fb131c58cf4fb012854759eef2d73528a30.tar.gz bugzilla-70540fb131c58cf4fb012854759eef2d73528a30.tar.xz |
Bug 438435: Need code hooks for authentication
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=mkanat
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/example/code/auth-login_methods.pl | 27 | ||||
-rw-r--r-- | extensions/example/code/auth-verify_methods.pl | 27 | ||||
-rw-r--r-- | extensions/example/code/config-add_panels.pl | 25 | ||||
-rw-r--r-- | extensions/example/code/config-modify_panels.pl | 32 | ||||
-rw-r--r-- | extensions/example/lib/AuthLogin.pm | 32 | ||||
-rw-r--r-- | extensions/example/lib/AuthVerify.pm | 31 |
6 files changed, 174 insertions, 0 deletions
diff --git a/extensions/example/code/auth-login_methods.pl b/extensions/example/code/auth-login_methods.pl new file mode 100644 index 000000000..0ae12aa6b --- /dev/null +++ b/extensions/example/code/auth-login_methods.pl @@ -0,0 +1,27 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Example Plugin. +# +# The Initial Developer of the Original Code is Canonical Ltd. +# Portions created by Canonical Ltd. are Copyright (C) 2008 +# Canonical Ltd. All Rights Reserved. +# +# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org> + +use strict; +use warnings; +use Bugzilla; +my $modules = Bugzilla->hook_args->{modules}; +if (exists $modules->{Example}) { + $modules->{Example} = 'extensions/example/lib/AuthLogin.pm'; +} diff --git a/extensions/example/code/auth-verify_methods.pl b/extensions/example/code/auth-verify_methods.pl new file mode 100644 index 000000000..7ae52f012 --- /dev/null +++ b/extensions/example/code/auth-verify_methods.pl @@ -0,0 +1,27 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Example Plugin. +# +# The Initial Developer of the Original Code is Canonical Ltd. +# Portions created by Canonical Ltd. are Copyright (C) 2008 +# Canonical Ltd. All Rights Reserved. +# +# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org> + +use strict; +use warnings; +use Bugzilla; +my $modules = Bugzilla->hook_args->{modules}; +if (exists $modules->{Example}) { + $modules->{Example} = 'extensions/example/lib/AuthVerify.pm'; +} diff --git a/extensions/example/code/config-add_panels.pl b/extensions/example/code/config-add_panels.pl new file mode 100644 index 000000000..5f4f5bdd4 --- /dev/null +++ b/extensions/example/code/config-add_panels.pl @@ -0,0 +1,25 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Example Plugin. +# +# The Initial Developer of the Original Code is Canonical Ltd. +# Portions created by Canonical Ltd. are Copyright (C) 2008 +# Canonical Ltd. All Rights Reserved. +# +# Contributor(s): Bradley Baetz <bbaetz@acm.org> + +use strict; +use warnings; +use Bugzilla; +my $modules = Bugzilla->hook_args->{panel_modules}; +$modules->{Example} = "extensions::example::lib::ConfigExample"; diff --git a/extensions/example/code/config-modify_panels.pl b/extensions/example/code/config-modify_panels.pl new file mode 100644 index 000000000..bd93962bf --- /dev/null +++ b/extensions/example/code/config-modify_panels.pl @@ -0,0 +1,32 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Example Plugin. +# +# The Initial Developer of the Original Code is Canonical Ltd. +# Portions created by Canonical Ltd. are Copyright (C) 2008 +# Canonical Ltd. All Rights Reserved. +# +# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org> + +use strict; +use warnings; +use Bugzilla; +my $panels = Bugzilla->hook_args->{panels}; + +# Add the "Example" auth methods. +my $auth_params = $panels->{'auth'}->{params}; +my ($info_class) = grep($_->{name} eq 'user_info_class', @$auth_params); +my ($verify_class) = grep($_->{name} eq 'user_verify_class', @$auth_params); + +push(@{ $info_class->{choices} }, 'CGI,Example'); +push(@{ $verify_class->{choices} }, 'Example'); diff --git a/extensions/example/lib/AuthLogin.pm b/extensions/example/lib/AuthLogin.pm new file mode 100644 index 000000000..def3fa228 --- /dev/null +++ b/extensions/example/lib/AuthLogin.pm @@ -0,0 +1,32 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Example Plugin. +# +# The Initial Developer of the Original Code is Canonical Ltd. +# Portions created by Canonical are Copyright (C) 2008 Canonical Ltd. +# All Rights Reserved. +# +# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org> + +package extensions::example::lib::AuthLogin; +use strict; +use base qw(Bugzilla::Auth::Login); +use constant user_can_create_account => 0; +use Bugzilla::Constants; + +# Always returns no data. +sub get_login_info { + return { failure => AUTH_NODATA }; +} + +1; diff --git a/extensions/example/lib/AuthVerify.pm b/extensions/example/lib/AuthVerify.pm new file mode 100644 index 000000000..b89bbb213 --- /dev/null +++ b/extensions/example/lib/AuthVerify.pm @@ -0,0 +1,31 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Example Plugin. +# +# The Initial Developer of the Original Code is Canonical Ltd. +# Portions created by Canonical are Copyright (C) 2008 Canonical Ltd. +# All Rights Reserved. +# +# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org> + +package extensions::example::lib::AuthVerify; +use strict; +use base qw(Bugzilla::Auth::Verify); +use Bugzilla::Constants; + +# A verifier that always fails. +sub check_credentials { + return { failure => AUTH_NO_SUCH_USER }; +} + +1; |