# SPDX-License-Identifier: AGPL-3.0-or-later """ FreedomBox app to configure Single Sign On services. """ from django.utils.translation import gettext_lazy as _ from plinth import actions from plinth import app as app_module from plinth.package import Packages app = None class SSOApp(app_module.App): """FreedomBox app for single sign on.""" app_id = 'sso' _version = 1 def __init__(self): """Create components for the app.""" super().__init__() info = app_module.Info(app_id=self.app_id, version=self._version, is_essential=True, depends=['security', 'apache'], name=_('Single Sign On')) self.add(info) packages = Packages('packages-sso', [ 'libapache2-mod-auth-pubtkt', 'openssl', 'python3-openssl', 'flite' ]) self.add(packages) def setup(helper, old_version=None): """Install the required packages""" app.setup(old_version) actions.superuser_run('auth-pubtkt', ['create-key-pair'])