policies: fix serializers for bindings
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
c71009fea9
commit
d248b30eb3
|
@ -5,6 +5,8 @@ from rest_framework.viewsets import ModelViewSet
|
||||||
from structlog.stdlib import get_logger
|
from structlog.stdlib import get_logger
|
||||||
|
|
||||||
from authentik.core.api.groups import GroupSerializer
|
from authentik.core.api.groups import GroupSerializer
|
||||||
|
from authentik.core.api.users import UserSerializer
|
||||||
|
from authentik.policies.api.policies import PolicySerializer
|
||||||
from authentik.policies.models import PolicyBinding, PolicyBindingModel
|
from authentik.policies.models import PolicyBinding, PolicyBindingModel
|
||||||
|
|
||||||
LOGGER = get_logger()
|
LOGGER = get_logger()
|
||||||
|
@ -51,7 +53,9 @@ class PolicyBindingSerializer(ModelSerializer):
|
||||||
required=True,
|
required=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
policy = PolicySerializer(required=False)
|
||||||
group = GroupSerializer(required=False)
|
group = GroupSerializer(required=False)
|
||||||
|
user = UserSerializer(required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
||||||
|
|
240
swagger.yaml
240
swagger.yaml
|
@ -14827,7 +14827,6 @@ definitions:
|
||||||
Token:
|
Token:
|
||||||
required:
|
required:
|
||||||
- identifier
|
- identifier
|
||||||
- user
|
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
pk:
|
pk:
|
||||||
|
@ -16007,246 +16006,11 @@ definitions:
|
||||||
format: uuid
|
format: uuid
|
||||||
readOnly: true
|
readOnly: true
|
||||||
policy:
|
policy:
|
||||||
type: object
|
$ref: '#/definitions/Policy'
|
||||||
properties:
|
|
||||||
policy_uuid:
|
|
||||||
title: Policy uuid
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
readOnly: true
|
|
||||||
created:
|
|
||||||
title: Created
|
|
||||||
type: string
|
|
||||||
format: date-time
|
|
||||||
readOnly: true
|
|
||||||
last_updated:
|
|
||||||
title: Last updated
|
|
||||||
type: string
|
|
||||||
format: date-time
|
|
||||||
readOnly: true
|
|
||||||
name:
|
|
||||||
title: Name
|
|
||||||
type: string
|
|
||||||
x-nullable: true
|
|
||||||
execution_logging:
|
|
||||||
title: Execution logging
|
|
||||||
description: When this option is enabled, all executions of this policy
|
|
||||||
will be logged. By default, only execution errors are logged.
|
|
||||||
type: boolean
|
|
||||||
readOnly: true
|
|
||||||
group:
|
group:
|
||||||
$ref: '#/definitions/Group'
|
$ref: '#/definitions/Group'
|
||||||
user:
|
user:
|
||||||
required:
|
$ref: '#/definitions/User'
|
||||||
- password
|
|
||||||
- username
|
|
||||||
- name
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
title: ID
|
|
||||||
type: integer
|
|
||||||
readOnly: true
|
|
||||||
password:
|
|
||||||
title: Password
|
|
||||||
type: string
|
|
||||||
maxLength: 128
|
|
||||||
minLength: 1
|
|
||||||
last_login:
|
|
||||||
title: Last login
|
|
||||||
type: string
|
|
||||||
format: date-time
|
|
||||||
x-nullable: true
|
|
||||||
username:
|
|
||||||
title: Username
|
|
||||||
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
|
|
||||||
only.
|
|
||||||
type: string
|
|
||||||
pattern: ^[\w.@+-]+$
|
|
||||||
maxLength: 150
|
|
||||||
minLength: 1
|
|
||||||
first_name:
|
|
||||||
title: First name
|
|
||||||
type: string
|
|
||||||
maxLength: 150
|
|
||||||
last_name:
|
|
||||||
title: Last name
|
|
||||||
type: string
|
|
||||||
maxLength: 150
|
|
||||||
email:
|
|
||||||
title: Email address
|
|
||||||
type: string
|
|
||||||
format: email
|
|
||||||
maxLength: 254
|
|
||||||
is_active:
|
|
||||||
title: Active
|
|
||||||
description: Designates whether this user should be treated as active.
|
|
||||||
Unselect this instead of deleting accounts.
|
|
||||||
type: boolean
|
|
||||||
date_joined:
|
|
||||||
title: Date joined
|
|
||||||
type: string
|
|
||||||
format: date-time
|
|
||||||
uuid:
|
|
||||||
title: Uuid
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
readOnly: true
|
|
||||||
name:
|
|
||||||
title: Name
|
|
||||||
description: User's display name.
|
|
||||||
type: string
|
|
||||||
minLength: 1
|
|
||||||
password_change_date:
|
|
||||||
title: Password change date
|
|
||||||
type: string
|
|
||||||
format: date-time
|
|
||||||
readOnly: true
|
|
||||||
attributes:
|
|
||||||
title: Attributes
|
|
||||||
type: object
|
|
||||||
groups:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
required:
|
|
||||||
- name
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
title: ID
|
|
||||||
type: integer
|
|
||||||
readOnly: true
|
|
||||||
name:
|
|
||||||
title: Name
|
|
||||||
type: string
|
|
||||||
maxLength: 150
|
|
||||||
minLength: 1
|
|
||||||
permissions:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: integer
|
|
||||||
uniqueItems: true
|
|
||||||
readOnly: true
|
|
||||||
user_permissions:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
required:
|
|
||||||
- name
|
|
||||||
- codename
|
|
||||||
- content_type
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
title: ID
|
|
||||||
type: integer
|
|
||||||
readOnly: true
|
|
||||||
name:
|
|
||||||
title: Name
|
|
||||||
type: string
|
|
||||||
maxLength: 255
|
|
||||||
minLength: 1
|
|
||||||
codename:
|
|
||||||
title: Codename
|
|
||||||
type: string
|
|
||||||
maxLength: 100
|
|
||||||
minLength: 1
|
|
||||||
content_type:
|
|
||||||
title: Content type
|
|
||||||
type: integer
|
|
||||||
readOnly: true
|
|
||||||
sources:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
required:
|
|
||||||
- name
|
|
||||||
- slug
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
pbm_uuid:
|
|
||||||
title: Pbm uuid
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
readOnly: true
|
|
||||||
policy_engine_mode:
|
|
||||||
title: Policy engine mode
|
|
||||||
type: string
|
|
||||||
enum:
|
|
||||||
- all
|
|
||||||
- any
|
|
||||||
name:
|
|
||||||
title: Name
|
|
||||||
description: Source's display Name.
|
|
||||||
type: string
|
|
||||||
minLength: 1
|
|
||||||
slug:
|
|
||||||
title: Slug
|
|
||||||
description: Internal source name, used in URLs.
|
|
||||||
type: string
|
|
||||||
format: slug
|
|
||||||
pattern: ^[-a-zA-Z0-9_]+$
|
|
||||||
maxLength: 50
|
|
||||||
minLength: 1
|
|
||||||
enabled:
|
|
||||||
title: Enabled
|
|
||||||
type: boolean
|
|
||||||
authentication_flow:
|
|
||||||
title: Authentication flow
|
|
||||||
description: Flow to use when authenticating existing users.
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
x-nullable: true
|
|
||||||
enrollment_flow:
|
|
||||||
title: Enrollment flow
|
|
||||||
description: Flow to use when enrolling new users.
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
x-nullable: true
|
|
||||||
policies:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
readOnly: true
|
|
||||||
uniqueItems: true
|
|
||||||
property_mappings:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
uniqueItems: true
|
|
||||||
readOnly: true
|
|
||||||
ak_groups:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
required:
|
|
||||||
- name
|
|
||||||
- parent
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
group_uuid:
|
|
||||||
title: Group uuid
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
readOnly: true
|
|
||||||
name:
|
|
||||||
title: Name
|
|
||||||
type: string
|
|
||||||
maxLength: 80
|
|
||||||
minLength: 1
|
|
||||||
is_superuser:
|
|
||||||
title: Is superuser
|
|
||||||
description: Users added to this group will be superusers.
|
|
||||||
type: boolean
|
|
||||||
attributes:
|
|
||||||
title: Attributes
|
|
||||||
type: object
|
|
||||||
parent:
|
|
||||||
title: Parent
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
x-nullable: true
|
|
||||||
readOnly: true
|
|
||||||
readOnly: true
|
|
||||||
target:
|
target:
|
||||||
title: Target
|
title: Target
|
||||||
type: string
|
type: string
|
||||||
|
|
|
@ -52,7 +52,7 @@ export class TokenListPage extends TablePage<Token> {
|
||||||
row(item: Token): TemplateResult[] {
|
row(item: Token): TemplateResult[] {
|
||||||
return [
|
return [
|
||||||
html`${item.identifier}`,
|
html`${item.identifier}`,
|
||||||
html`${item.user.username}`,
|
html`${item.user?.username}`,
|
||||||
html`${item.expiring ? "Yes" : "No"}`,
|
html`${item.expiring ? "Yes" : "No"}`,
|
||||||
html`${item.expiring ? item.expires?.toLocaleString() : "-"}`,
|
html`${item.expiring ? item.expires?.toLocaleString() : "-"}`,
|
||||||
html`
|
html`
|
||||||
|
|
|
@ -74,7 +74,7 @@ export class UserTokenList extends Table<Token> {
|
||||||
<span class="pf-c-description-list__text">${gettext("User")}</span>
|
<span class="pf-c-description-list__text">${gettext("User")}</span>
|
||||||
</dt>
|
</dt>
|
||||||
<dd class="pf-c-description-list__description">
|
<dd class="pf-c-description-list__description">
|
||||||
<div class="pf-c-description-list__text">${item.user.username}</div>
|
<div class="pf-c-description-list__text">${item.user?.username}</div>
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="pf-c-description-list__group">
|
<div class="pf-c-description-list__group">
|
||||||
|
|
Reference in a new issue