This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
authentik/website/docs/user-group/user.md
Jens L 4f4f954693
core: customisable user settings (#2397)
* tenants: add user_settings flow, add basic flow and basic new executor

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web/user: use flow PromptStage instead of custom stage

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web/flows: add tenant to StageHost interface

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web/user: fix form missing component

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web/user: re-add success message

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web/user: improve support for multiple error messages

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* stages/prompt: allow expressions in prompt placeholders

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* stages/prompt: add tests

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* flows: always set pending user

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* flows: never cache stage configuration flow plans

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* stages/user_write: fix error when pending user is anonymous user

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web/admin: add checkbox for prompt placeholder expression

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* website/docs: add prompt expression docs

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* stages/prompt: add ak-locale field type

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* tenants: fix default policy

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web/user: add function to do global refresh

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* web/flows: fix rendering of ak-locale

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* tenants: fix default policy, add error handling to placeholder, fix locale attribute

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>

* add tests

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2022-03-03 00:13:06 +01:00

2.1 KiB

title
User

Attributes

goauthentik.io/user/token-expires:

Optional flag, when set to false, Tokens created by the user will not expire.

goauthentik.io/user/debug:

See Troubleshooting access problems, when set, the user gets a more detailed explanation of access decisions.

additionalHeaders:

:::info This field is only used by the Proxy Provider. :::

Some applications can be configured to create new users using header information forwarded from authentik. You can forward additional header information by adding each header underneath additionalHeaders:

Example:

additionalHeaders:
  REMOTE-USER: joe.smith
  REMOTE-EMAIL: joe@jsmith.com
  REMOTE-NAME: Joseph

These headers will now be passed to the application when the user logs in. Most applications will need to be configured to accept these headers. Some examples of applications that can accept additional headers from an authentik Proxy Provider are Grafana and Tandoor Recipes.

Object attributes

The User object has the following attributes:

  • username: User's username.

  • email User's email.

  • name User's display name.

  • is_staff Boolean field if user is staff.

  • is_active Boolean field if user is active.

  • date_joined Date user joined/was created.

  • password_change_date Date password was last changed.

  • attributes Dynamic attributes, see above

  • group_attributes() Merged attributes of all groups the user is member of and the user's own attributes.

  • ak_groups This is a queryset of all the user's groups.

    You can do additional filtering like

    user.ak_groups.filter(name__startswith='test')
    

    see here

    To get the name of all groups, you can do

    [group.name for group in user.ak_groups.all()]
    

Examples

List all the User's group names:

for group in user.ak_groups.all():
    yield group.name