From ce16cba54f80b6bc21350ccd6352edbb02071ceb Mon Sep 17 00:00:00 2001 From: Vitosha Labs Open Source Team Date: Nov 02 2022 14:31:14 +0000 Subject: show openidc clients on homepage Signed-off-by: Vitosha Labs Open Source Team --- diff --git a/ipsilon/providers/openidc/provider.py b/ipsilon/providers/openidc/provider.py index a8a0ba2..9bf36b3 100644 --- a/ipsilon/providers/openidc/provider.py +++ b/ipsilon/providers/openidc/provider.py @@ -82,6 +82,10 @@ class Client(pconfig.ConfigHelper): super(Client, self).__init__() if client_info is None: client_info = {} + elif 'client_name' in client_info: + self.name=client_info['client_name'] + if 'visible' in client_info: + self.visible=str(client_info['visible']) self.client_info = client_info self.readonly = self.client_info.get('type', 'new') == 'dynamic' if 'ipsilon_internal' in client_info: @@ -380,6 +384,10 @@ class Client(pconfig.ConfigHelper): 'Default Authentication Context Class requested by client.', self.get_current_info('default_acr_values'), readonly=self.readonly), + pconfig.Condition( + 'Visible', + 'This client is visible in the Portal.', + self.get_current_info('visible')), # TODO: # id_token_encrypted_response_alg # id_token_encrypted_response_enc diff --git a/ipsilon/providers/openidcp.py b/ipsilon/providers/openidcp.py index fc85d9e..d961115 100644 --- a/ipsilon/providers/openidcp.py +++ b/ipsilon/providers/openidcp.py @@ -248,6 +248,14 @@ Provides OpenID Connect authentication infrastructure. """ self.extensions.enable(self._config['enabled extensions'].get_value(), self) + def get_providers(self): + from ipsilon.providers.openidc.provider import Client + all_clients=self.admin.clients + ret_all_clients=[] + for client in all_clients: + cl=Client(all_clients[client]) + ret_all_clients.append(cl) + return ret_all_clients class Installer(ProviderInstaller): diff --git a/templates/index.html b/templates/index.html index 62e36f2..d275148 100644 --- a/templates/index.html +++ b/templates/index.html @@ -90,7 +90,7 @@
{% for p in providers %} - {% if (p.visible == '1') or (p.visible == 'True') %} + {% if ( (p.visible == '1') or (p.visible == 'True') ) and p.__repr__().startswith('
+ {% elif p.visible == 'True' and p.__repr__().startswith(' + + {% if p.imageurl or 0 %} + + {% else %} + + {{ p.name[0] }} + {{ p.name }} + + {% endif %} + + + {% endif %} {% endfor %}