summaryrefslogtreecommitdiffstats
path: root/extensions/example
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2008-08-07 06:38:22 +0200
committermkanat%bugzilla.org <>2008-08-07 06:38:22 +0200
commit70540fb131c58cf4fb012854759eef2d73528a30 (patch)
tree82b80ac0bebf506a2852a71606f52bda32f195d0 /extensions/example
parentbea9199267de2fe96c3214f17b4119ae87dd6a26 (diff)
downloadbugzilla-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/example')
-rw-r--r--extensions/example/code/auth-login_methods.pl27
-rw-r--r--extensions/example/code/auth-verify_methods.pl27
-rw-r--r--extensions/example/code/config-add_panels.pl25
-rw-r--r--extensions/example/code/config-modify_panels.pl32
-rw-r--r--extensions/example/lib/AuthLogin.pm32
-rw-r--r--extensions/example/lib/AuthVerify.pm31
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;