stages/authenticator: add user field to devices (#12636)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
@ -12,6 +12,7 @@ from rest_framework.response import Response
|
|||||||
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
||||||
from structlog.stdlib import get_logger
|
from structlog.stdlib import get_logger
|
||||||
|
|
||||||
|
from authentik.core.api.groups import GroupMemberSerializer
|
||||||
from authentik.core.api.used_by import UsedByMixin
|
from authentik.core.api.used_by import UsedByMixin
|
||||||
from authentik.core.api.utils import ModelSerializer
|
from authentik.core.api.utils import ModelSerializer
|
||||||
from authentik.flows.api.stages import StageSerializer
|
from authentik.flows.api.stages import StageSerializer
|
||||||
@ -165,9 +166,11 @@ class AuthenticatorDuoStageViewSet(UsedByMixin, ModelViewSet):
|
|||||||
class DuoDeviceSerializer(ModelSerializer):
|
class DuoDeviceSerializer(ModelSerializer):
|
||||||
"""Serializer for Duo authenticator devices"""
|
"""Serializer for Duo authenticator devices"""
|
||||||
|
|
||||||
|
user = GroupMemberSerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = DuoDevice
|
model = DuoDevice
|
||||||
fields = ["pk", "name"]
|
fields = ["pk", "name", "user"]
|
||||||
depth = 2
|
depth = 2
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
from rest_framework import mixins
|
from rest_framework import mixins
|
||||||
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
||||||
|
|
||||||
|
from authentik.core.api.groups import GroupMemberSerializer
|
||||||
from authentik.core.api.used_by import UsedByMixin
|
from authentik.core.api.used_by import UsedByMixin
|
||||||
from authentik.core.api.utils import ModelSerializer
|
from authentik.core.api.utils import ModelSerializer
|
||||||
from authentik.flows.api.stages import StageSerializer
|
from authentik.flows.api.stages import StageSerializer
|
||||||
@ -41,9 +42,11 @@ class AuthenticatorSMSStageViewSet(UsedByMixin, ModelViewSet):
|
|||||||
class SMSDeviceSerializer(ModelSerializer):
|
class SMSDeviceSerializer(ModelSerializer):
|
||||||
"""Serializer for sms authenticator devices"""
|
"""Serializer for sms authenticator devices"""
|
||||||
|
|
||||||
|
user = GroupMemberSerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = SMSDevice
|
model = SMSDevice
|
||||||
fields = ["name", "pk", "phone_number"]
|
fields = ["name", "pk", "phone_number", "user"]
|
||||||
depth = 2
|
depth = 2
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
"phone_number": {"read_only": True},
|
"phone_number": {"read_only": True},
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
from rest_framework import mixins
|
from rest_framework import mixins
|
||||||
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
||||||
|
|
||||||
|
from authentik.core.api.groups import GroupMemberSerializer
|
||||||
from authentik.core.api.used_by import UsedByMixin
|
from authentik.core.api.used_by import UsedByMixin
|
||||||
from authentik.core.api.utils import ModelSerializer
|
from authentik.core.api.utils import ModelSerializer
|
||||||
from authentik.flows.api.stages import StageSerializer
|
from authentik.flows.api.stages import StageSerializer
|
||||||
@ -48,10 +49,11 @@ class StaticDeviceSerializer(ModelSerializer):
|
|||||||
"""Serializer for static authenticator devices"""
|
"""Serializer for static authenticator devices"""
|
||||||
|
|
||||||
token_set = StaticDeviceTokenSerializer(many=True, read_only=True)
|
token_set = StaticDeviceTokenSerializer(many=True, read_only=True)
|
||||||
|
user = GroupMemberSerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = StaticDevice
|
model = StaticDevice
|
||||||
fields = ["name", "token_set", "pk"]
|
fields = ["name", "token_set", "pk", "user"]
|
||||||
|
|
||||||
|
|
||||||
class StaticDeviceViewSet(
|
class StaticDeviceViewSet(
|
||||||
|
|||||||
@ -4,6 +4,7 @@ from rest_framework import mixins
|
|||||||
from rest_framework.fields import ChoiceField
|
from rest_framework.fields import ChoiceField
|
||||||
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
||||||
|
|
||||||
|
from authentik.core.api.groups import GroupMemberSerializer
|
||||||
from authentik.core.api.used_by import UsedByMixin
|
from authentik.core.api.used_by import UsedByMixin
|
||||||
from authentik.core.api.utils import ModelSerializer
|
from authentik.core.api.utils import ModelSerializer
|
||||||
from authentik.flows.api.stages import StageSerializer
|
from authentik.flows.api.stages import StageSerializer
|
||||||
@ -37,11 +38,14 @@ class AuthenticatorTOTPStageViewSet(UsedByMixin, ModelViewSet):
|
|||||||
class TOTPDeviceSerializer(ModelSerializer):
|
class TOTPDeviceSerializer(ModelSerializer):
|
||||||
"""Serializer for totp authenticator devices"""
|
"""Serializer for totp authenticator devices"""
|
||||||
|
|
||||||
|
user = GroupMemberSerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = TOTPDevice
|
model = TOTPDevice
|
||||||
fields = [
|
fields = [
|
||||||
"name",
|
"name",
|
||||||
"pk",
|
"pk",
|
||||||
|
"user",
|
||||||
]
|
]
|
||||||
depth = 2
|
depth = 2
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
from rest_framework import mixins
|
from rest_framework import mixins
|
||||||
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
||||||
|
|
||||||
|
from authentik.core.api.groups import GroupMemberSerializer
|
||||||
from authentik.core.api.used_by import UsedByMixin
|
from authentik.core.api.used_by import UsedByMixin
|
||||||
from authentik.core.api.utils import ModelSerializer
|
from authentik.core.api.utils import ModelSerializer
|
||||||
from authentik.stages.authenticator_webauthn.api.device_types import WebAuthnDeviceTypeSerializer
|
from authentik.stages.authenticator_webauthn.api.device_types import WebAuthnDeviceTypeSerializer
|
||||||
@ -13,10 +14,11 @@ class WebAuthnDeviceSerializer(ModelSerializer):
|
|||||||
"""Serializer for WebAuthn authenticator devices"""
|
"""Serializer for WebAuthn authenticator devices"""
|
||||||
|
|
||||||
device_type = WebAuthnDeviceTypeSerializer(read_only=True, allow_null=True)
|
device_type = WebAuthnDeviceTypeSerializer(read_only=True, allow_null=True)
|
||||||
|
user = GroupMemberSerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = WebAuthnDevice
|
model = WebAuthnDevice
|
||||||
fields = ["pk", "name", "created_on", "device_type", "aaguid"]
|
fields = ["pk", "name", "created_on", "device_type", "aaguid", "user"]
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
"aaguid": {"read_only": True},
|
"aaguid": {"read_only": True},
|
||||||
}
|
}
|
||||||
|
|||||||
25
schema.yml
25
schema.yml
@ -41226,9 +41226,14 @@ components:
|
|||||||
type: string
|
type: string
|
||||||
description: The human-readable name of this device.
|
description: The human-readable name of this device.
|
||||||
maxLength: 64
|
maxLength: 64
|
||||||
|
user:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/GroupMember'
|
||||||
|
readOnly: true
|
||||||
required:
|
required:
|
||||||
- name
|
- name
|
||||||
- pk
|
- pk
|
||||||
|
- user
|
||||||
DuoDeviceEnrollmentStatus:
|
DuoDeviceEnrollmentStatus:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
@ -54570,10 +54575,15 @@ components:
|
|||||||
phone_number:
|
phone_number:
|
||||||
type: string
|
type: string
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
user:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/GroupMember'
|
||||||
|
readOnly: true
|
||||||
required:
|
required:
|
||||||
- name
|
- name
|
||||||
- phone_number
|
- phone_number
|
||||||
- pk
|
- pk
|
||||||
|
- user
|
||||||
SMSDeviceRequest:
|
SMSDeviceRequest:
|
||||||
type: object
|
type: object
|
||||||
description: Serializer for sms authenticator devices
|
description: Serializer for sms authenticator devices
|
||||||
@ -55275,10 +55285,15 @@ components:
|
|||||||
type: integer
|
type: integer
|
||||||
readOnly: true
|
readOnly: true
|
||||||
title: ID
|
title: ID
|
||||||
|
user:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/GroupMember'
|
||||||
|
readOnly: true
|
||||||
required:
|
required:
|
||||||
- name
|
- name
|
||||||
- pk
|
- pk
|
||||||
- token_set
|
- token_set
|
||||||
|
- user
|
||||||
StaticDeviceRequest:
|
StaticDeviceRequest:
|
||||||
type: object
|
type: object
|
||||||
description: Serializer for static authenticator devices
|
description: Serializer for static authenticator devices
|
||||||
@ -55507,9 +55522,14 @@ components:
|
|||||||
type: integer
|
type: integer
|
||||||
readOnly: true
|
readOnly: true
|
||||||
title: ID
|
title: ID
|
||||||
|
user:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/GroupMember'
|
||||||
|
readOnly: true
|
||||||
required:
|
required:
|
||||||
- name
|
- name
|
||||||
- pk
|
- pk
|
||||||
|
- user
|
||||||
TOTPDeviceRequest:
|
TOTPDeviceRequest:
|
||||||
type: object
|
type: object
|
||||||
description: Serializer for totp authenticator devices
|
description: Serializer for totp authenticator devices
|
||||||
@ -56951,12 +56971,17 @@ components:
|
|||||||
aaguid:
|
aaguid:
|
||||||
type: string
|
type: string
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
user:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/GroupMember'
|
||||||
|
readOnly: true
|
||||||
required:
|
required:
|
||||||
- aaguid
|
- aaguid
|
||||||
- created_on
|
- created_on
|
||||||
- device_type
|
- device_type
|
||||||
- name
|
- name
|
||||||
- pk
|
- pk
|
||||||
|
- user
|
||||||
WebAuthnDeviceRequest:
|
WebAuthnDeviceRequest:
|
||||||
type: object
|
type: object
|
||||||
description: Serializer for WebAuthn authenticator devices
|
description: Serializer for WebAuthn authenticator devices
|
||||||
|
|||||||
Reference in New Issue
Block a user