diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index e33b4324a..fceeed5f3 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -204,7 +204,7 @@ class UserProfileSerializer(UserSerializer): (0, _('Disable')), (1, _('Enable')), ) - mfa_level = serializers.ChoiceField(choices=MFA_LEVEL_CHOICES, label=_('MFA')) + mfa_level = serializers.ChoiceField(choices=MFA_LEVEL_CHOICES, label=_('MFA'), required=False) guide_url = serializers.SerializerMethodField() class Meta(UserSerializer.Meta): @@ -242,6 +242,11 @@ class UserProfileSerializer(UserSerializer): def get_guide_url(obj): return settings.USER_GUIDE_URL + def validate_mfa_level(self, mfa_level): + if self.instance and self.instance.mfa_force_enabled: + return 2 + return mfa_level + class UserUpdatePasswordSerializer(serializers.ModelSerializer): old_password = serializers.CharField(required=True, max_length=128, write_only=True)