diff --git a/apiserver/apimodels/login.py b/apiserver/apimodels/login.py index 82e9450..bb10e02 100644 --- a/apiserver/apimodels/login.py +++ b/apiserver/apimodels/login.py @@ -1,4 +1,4 @@ -from jsonmodels.fields import StringField, BoolField, EmbeddedField +from jsonmodels.fields import StringField, BoolField, EmbeddedField, ListField from jsonmodels.models import Base from apiserver.apimodels import DictField, callable_default @@ -30,3 +30,4 @@ class GetSupportedModesResponse(Base): basic = EmbeddedField(BasicMode) server_errors = EmbeddedField(ServerErrors) sso = DictField([str, type(None)]) + sso_providers = ListField([dict]) diff --git a/apiserver/schema/services/login.conf b/apiserver/schema/services/login.conf index 4279d26..41cd4b6 100644 --- a/apiserver/schema/services/login.conf +++ b/apiserver/schema/services/login.conf @@ -63,6 +63,14 @@ supported_modes { type: string } } + sso_providers { + description: "The list of SSO authentication providers" + type: array + items { + type: object + additionalProperties: true + } + } server_errors { description: "Server initialization errors" type: object diff --git a/apiserver/services/login/__init__.py b/apiserver/services/login/__init__.py index 0034d8f..57987c9 100644 --- a/apiserver/services/login/__init__.py +++ b/apiserver/services/login/__init__.py @@ -26,6 +26,7 @@ def supported_modes(_, __, ___: GetSupportedModesRequest): return GetSupportedModesResponse( basic=BasicMode(enabled=FixedUser.enabled(), guest=guest), sso={}, + sso_providers=[], server_errors=ServerErrors( missed_es_upgrade=info.missed_es_upgrade, es_connection_error=info.es_connection_error,