137 lines
3.4 KiB
Markdown
137 lines
3.4 KiB
Markdown
# Models
|
||
|
||
Some models behave differently and allow for access to different API fields when created via blueprint.
|
||
|
||
## `authentik_core.token`
|
||
|
||
### `key` <span class="badge badge--version">authentik 2023.4+</span>
|
||
|
||
Via the standard API, a token's key cannot be changed, it can only be rotated. This is to ensure a high entropy in it's key, and to prevent insecure data from being used. However, when provisioning tokens via a blueprint, it may be required to set a token to an existing value.
|
||
|
||
With blueprints, the field `key` can be set, to set the token's key to any value.
|
||
|
||
For example:
|
||
|
||
```yaml
|
||
# [...]
|
||
- model: authentik_core.token
|
||
state: present
|
||
identifiers:
|
||
identifier: my-token
|
||
attrs:
|
||
key: this-should-be-a-long-value
|
||
user: !KeyOf my-user
|
||
intent: api
|
||
```
|
||
|
||
## `authentik_core.user`
|
||
|
||
### `password` <span class="badge badge--version">authentik 2023.6+</span>
|
||
|
||
Via the standard API, a user's password can only be set via the separate `/api/v3/core/users/<id>/set_password/` endpoint. In blueprints, the password of a user can be set using the `password` field.
|
||
|
||
Keep in mind that if an LDAP Source is configured and the user maps to an LDAP user, this password change will be propagated to the LDAP server.
|
||
|
||
For example:
|
||
|
||
```yaml
|
||
# [...]
|
||
- model: authentik_core.user
|
||
state: present
|
||
identifiers:
|
||
username: test-user
|
||
attrs:
|
||
name: test user
|
||
password: this-should-be-a-long-value
|
||
```
|
||
|
||
### `permissions` <span class="badge badge--version">authentik 2024.8+</span>
|
||
|
||
The `permissions` field can be used to set global permissions for a user. A full list of possible permissions is included in the JSON schema for blueprints.
|
||
|
||
For example:
|
||
|
||
```yaml
|
||
# [...]
|
||
- model: authentik_core.user
|
||
identifiers:
|
||
username: test-user
|
||
attrs:
|
||
permissions:
|
||
- authentik_blueprints.view_blueprintinstance
|
||
```
|
||
|
||
## `authentik_core.application`
|
||
|
||
### `icon` <span class="badge badge--version">authentik 2023.5+</span>
|
||
|
||
Application icons can be directly set to URLs with the `icon` field.
|
||
|
||
For example:
|
||
|
||
```yaml
|
||
# [...]
|
||
- model: authentik_core.application
|
||
identifiers:
|
||
slug: my-app
|
||
attrs:
|
||
name: My App
|
||
icon: https://goauthentik.io/img/icon.png
|
||
```
|
||
|
||
## `authentik_sources_oauth.oauthsource`, `authentik_sources_saml.samlsource`, `authentik_sources_plex.plexsource`
|
||
|
||
### `icon` <span class="badge badge--version">authentik 2023.5+</span>
|
||
|
||
Source icons can be directly set to URLs with the `icon` field.
|
||
|
||
For example:
|
||
|
||
```yaml
|
||
# [...]
|
||
- model: authentik_sources_oauth.oauthsource
|
||
identifiers:
|
||
slug: my-source
|
||
attrs:
|
||
name: My source
|
||
icon: https://goauthentik.io/img/icon.png
|
||
```
|
||
|
||
## `authentik_flows.flow`
|
||
|
||
### `icon` <span class="badge badge--version">authentik 2023.5+</span>
|
||
|
||
Flow backgrounds can be directly set to URLs with the `background` field.
|
||
|
||
For example:
|
||
|
||
```yaml
|
||
# [...]
|
||
- model: authentik_flows.flow
|
||
identifiers:
|
||
slug: my-flow
|
||
attrs:
|
||
name: my-flow
|
||
title: My flow
|
||
designation: authentication
|
||
background: https://goauthentik.io/img/icon.png
|
||
```
|
||
|
||
## `authentik_rbac.role`
|
||
|
||
### `permissions` <span class="badge badge--version">authentik 2024.8+</span>
|
||
|
||
The `permissions` field can be used to set global permissions for a role. A full list of possible permissions is included in the JSON schema for blueprints.
|
||
|
||
For example:
|
||
|
||
```yaml
|
||
# [...]
|
||
- model: authentik_rbac.role
|
||
identifiers:
|
||
name: test-role
|
||
attrs:
|
||
permissions:
|
||
- authentik_blueprints.view_blueprintinstance
|
||
```
|