Files
jumpserver/apps/settings/serializers/auth/base.py
Jiangjie Bai 0d15c50e1f Feat authcert (#16856)
* feat: add auth cert config

* feat: add auth cert api driver.js

* feat: add auth cert enroll api - draft

* feat: add auth cert demo config yaml

* feat: finished gmssl sign user csr to cert

* feat: support auth cert login

* feat: support auth cert login

* perf: user login via cert, and driver config

* feat: user profile api add can_cert_auth field

* feat: add cert auth log

* feat: add cert auth support check acl, ip_block etc.

* feat: cert auth support mfa check

* feat: cert auth support mfa check

* feat: little perf

* feat: cert config add i18n

* feat: cert login html add i18n

* feat: add i18n lina

* feat: add driver config demo

* feat: add cert auth to settings

* feat: add gmssl dockerfile-ee

* feat: add user source choices

* feat: remove gmssl-python sdk
2026-05-25 16:41:47 +08:00

62 lines
2.8 KiB
Python

from django.utils.translation import gettext_lazy as _
from rest_framework import serializers
__all__ = [
'AuthSettingSerializer',
'OrgListField'
]
class AuthSettingSerializer(serializers.Serializer):
PREFIX_TITLE = _('Authentication')
AUTH_LDAP = serializers.BooleanField(required=False, label=_('LDAP Auth'))
AUTH_LDAP_HA = serializers.BooleanField(required=False, label=_('LDAP Auth HA'))
AUTH_CAS = serializers.BooleanField(required=False, label=_('CAS Auth'))
AUTH_OPENID = serializers.BooleanField(required=False, label=_('OPENID Auth'))
AUTH_SAML2 = serializers.BooleanField(default=False, label=_("SAML2 Auth"))
AUTH_OAUTH2 = serializers.BooleanField(default=False, label=_("OAuth2 Auth"))
AUTH_RADIUS = serializers.BooleanField(required=False, label=_('RADIUS Auth'))
AUTH_DINGTALK = serializers.BooleanField(default=False, label=_('DingTalk Auth'))
AUTH_FEISHU = serializers.BooleanField(default=False, label=_('FeiShu Auth'))
AUTH_LARK = serializers.BooleanField(default=False, label=_('Lark Auth'))
AUTH_WECOM = serializers.BooleanField(default=False, label=_('Slack Auth'))
AUTH_SLACK = serializers.BooleanField(default=False, label=_('WeCom Auth'))
AUTH_SSO = serializers.BooleanField(default=False, label=_("SSO Auth"))
AUTH_PASSKEY = serializers.BooleanField(default=False, label=_("Passkey Auth"))
AUTH_CERT = serializers.BooleanField(default=False, label=_("Certificate Auth"))
EMAIL_SUFFIX = serializers.CharField(
required=False, max_length=1024, label=_("Email suffix"),
help_text=_(
"After third-party user authentication is successful, "
"if the third-party authentication service platform does not return the user's email "
"information, the system will automatically create the user using this email suffix"
)
)
FORGOT_PASSWORD_URL = serializers.CharField(
required=False, allow_blank=True, max_length=1024,
label=_("Forgot Password URL"),
help_text=_("The URL for Forgotten Password on the user login page")
)
LOGIN_REDIRECT_MSG_ENABLED = serializers.BooleanField(
required=False, label=_("Login redirection"),
help_text=_(
"Should an flash page be displayed before the user is redirected to third-party "
"authentication when the administrator enables third-party redirect authentication"
)
)
class OrgListField(serializers.ListField):
def __init__(self, **kwargs):
defaults = {
'required': False,
'label': _('Organization'),
'help_text': _(
'When you create a user, you associate the user to the organization of your choice. '
'Users always belong to the Default organization.'
)
}
defaults.update(kwargs)
super().__init__(**defaults)