summaryrefslogtreecommitdiffstats
path: root/ipsilon/providers
diff options
context:
space:
mode:
Diffstat (limited to 'ipsilon/providers')
-rw-r--r--ipsilon/providers/common.py16
-rw-r--r--ipsilon/providers/openidp.py6
-rw-r--r--ipsilon/providers/personaidp.py6
-rw-r--r--ipsilon/providers/saml2idp.py7
4 files changed, 26 insertions, 9 deletions
diff --git a/ipsilon/providers/common.py b/ipsilon/providers/common.py
index dfa2627..4206387 100644
--- a/ipsilon/providers/common.py
+++ b/ipsilon/providers/common.py
@@ -111,6 +111,22 @@ class ProviderPageBase(Page):
FACILITY = 'provider_config'
+class ProviderInstaller(object):
+ def __init__(self):
+ self.facility = FACILITY
+ self.ptype = 'provider'
+ self.name = None
+
+ def unconfigure(self, opts):
+ return
+
+ def install_args(self, group):
+ raise NotImplementedError
+
+ def configure(self, opts):
+ raise NotImplementedError
+
+
class LoadProviders(Log):
def __init__(self, root, site):
diff --git a/ipsilon/providers/openidp.py b/ipsilon/providers/openidp.py
index 6bdf557..f79435f 100644
--- a/ipsilon/providers/openidp.py
+++ b/ipsilon/providers/openidp.py
@@ -2,7 +2,7 @@
from __future__ import absolute_import
-from ipsilon.providers.common import ProviderBase
+from ipsilon.providers.common import ProviderBase, ProviderInstaller
from ipsilon.providers.openid.store import OpenIDStore
from ipsilon.providers.openid.auth import OpenID
from ipsilon.providers.openid.extensions.common import LoadExtensions
@@ -131,11 +131,11 @@ Provides OpenID 2.0 authentication infrastructure. """
self.extensions.enable(self._config['enabled extensions'].get_value())
-class Installer(object):
+class Installer(ProviderInstaller):
def __init__(self, *pargs):
+ super(Installer, self).__init__()
self.name = 'openid'
- self.ptype = 'provider'
self.pargs = pargs
def install_args(self, group):
diff --git a/ipsilon/providers/personaidp.py b/ipsilon/providers/personaidp.py
index 0096c7a..74e19d3 100644
--- a/ipsilon/providers/personaidp.py
+++ b/ipsilon/providers/personaidp.py
@@ -2,7 +2,7 @@
from __future__ import absolute_import
-from ipsilon.providers.common import ProviderBase
+from ipsilon.providers.common import ProviderBase, ProviderInstaller
from ipsilon.util.plugin import PluginObject
from ipsilon.util import config as pconfig
from ipsilon.info.common import InfoMapping
@@ -74,11 +74,11 @@ Provides Persona authentication infrastructure. """
self.init_idp()
-class Installer(object):
+class Installer(ProviderInstaller):
def __init__(self, *pargs):
+ super(Installer, self).__init__()
self.name = 'persona'
- self.ptype = 'provider'
self.pargs = pargs
def install_args(self, group):
diff --git a/ipsilon/providers/saml2idp.py b/ipsilon/providers/saml2idp.py
index 9fa2fd6..89e1346 100644
--- a/ipsilon/providers/saml2idp.py
+++ b/ipsilon/providers/saml2idp.py
@@ -15,7 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-from ipsilon.providers.common import ProviderBase, ProviderPageBase
+from ipsilon.providers.common import ProviderBase, ProviderPageBase, \
+ ProviderInstaller
from ipsilon.providers.saml2.auth import AuthenticateRequest
from ipsilon.providers.saml2.logout import LogoutRequest
from ipsilon.providers.saml2.admin import Saml2AdminPage
@@ -330,11 +331,11 @@ class IdpMetadataGenerator(object):
return self.meta.output(path)
-class Installer(object):
+class Installer(ProviderInstaller):
def __init__(self, *pargs):
+ super(Installer, self).__init__()
self.name = 'saml2'
- self.ptype = 'provider'
self.pargs = pargs
def install_args(self, group):