721 Commits

Author SHA1 Message Date
Sai Asish Y
c6b5869b48 stages/user_write: refuse to write id/pk claims onto the user model (#21667)
* stages/user_write: refuse to write id/pk claims onto the user model

When an enrollment or source flow maps IdP-supplied attributes onto the
User model, update_user walks each key and, if the user already has an
attribute by that name, calls setattr(user, key, value) unconditionally.
"id" is always present on the User model (it is the Django PK), so a
SAML assertion that ships an "id" claim, e.g. a hex string from
mocksaml, was written straight into the PK field. Django then rejected
the save:

  ValueError: Field 'id' expected a number but got '<hex>'.

The log surfaced as "Failed to save user" and the enrollment flow
silently failed for every incoming user.

Treat "id" and "pk" the same way the existing "groups" entry is
treated: add them to disallowed_user_attributes so the walker logs and
skips them. IdP attributes can still be stored on user.attributes via
the dotted/underscored forms (e.g. attributes.id), which go through
write_attribute and land in the JSONField safely.

Added a regression test covering both id and pk in the prompt context.

Fixes #21580

Signed-off-by: SAY-5 <SAY-5@users.noreply.github.com>

* fix lint

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

---------

Signed-off-by: SAY-5 <SAY-5@users.noreply.github.com>
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: SAY-5 <SAY-5@users.noreply.github.com>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
2026-04-23 11:03:12 +02:00
authentik-automation[bot]
e4971f9aa5 core, web: update translations (#21785)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-04-23 10:39:13 +02:00
authentik-automation[bot]
880c1ec89a core, web: update translations (#21695)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-04-22 11:41:48 +02:00
authentik-automation[bot]
e66cde6fd2 core, web: update translations (#21488)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-04-09 11:33:41 +01:00
transifex-integration[bot]
94254c18a8 translate: Updates for project authentik and language fr_FR (#21474)
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-04-08 14:02:26 +00:00
authentik-automation[bot]
4499711260 core, web: update translations (#21450)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-04-08 13:14:45 +02:00
authentik-automation[bot]
cc196dd9db core, web: update translations (#21394)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-04-07 13:50:03 +02:00
transifex-integration[bot]
0c9c1ec251 translate: Updates for project authentik and language fr_FR (#21378)
* translate: Translate web/xliff/en.xlf in fr_FR

100% translated source file: 'web/xliff/en.xlf'
on 'fr_FR'.

* translate: Translate django.po in fr_FR

100% translated source file: 'django.po'
on 'fr_FR'.

* translate: Removing web/xliff/en.xlf in fr_FR

99% of minimum 100% translated source file: 'web/xliff/en.xlf'
on 'fr_FR'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-04-05 22:13:26 +02:00
authentik-automation[bot]
2f65ff003e core, web: update translations (#21335)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-04-02 10:57:30 +01:00
authentik-automation[bot]
e2379f9c3b core, web: update translations (#21288)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-04-01 12:59:12 +00:00
transifex-integration[bot]
1f872d1721 translate: Updates for project authentik and language fr_FR (#21285)
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-03-31 17:43:07 +00:00
authentik-automation[bot]
2d73ea6cb4 core, web: update translations (#21264)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-03-31 14:00:42 +02:00
authentik-automation[bot]
9f8aefe304 core, web: update translations (#21233)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-03-30 03:08:54 +02:00
transifex-integration[bot]
2e8c402a0f translate: Updates for project authentik and language fr_FR (#21214)
* translate: Translate django.po in fr_FR

100% translated source file: 'django.po'
on 'fr_FR'.

* translate: Translate web/xliff/en.xlf in fr_FR

100% translated source file: 'web/xliff/en.xlf'
on 'fr_FR'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-03-30 01:33:51 +02:00
authentik-automation[bot]
b2061ab3b2 core, web: update translations (#21183)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-03-28 00:41:28 +00:00
Marc 'risson' Schmitt
4371c194a8 packages/client-rust: init (#21117) 2026-03-24 20:38:56 +00:00
authentik-automation[bot]
cf6c43409b core, web: update translations (#21097)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-03-24 13:43:01 +01:00
transifex-integration[bot]
2a90a049db translate: Updates for project authentik and language fr_FR (#21056)
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-03-23 13:42:13 +01:00
Marc 'risson' Schmitt
894f134893 root: init rust workspace (#20983) 2026-03-19 14:12:00 +00:00
authentik-automation[bot]
45dcef8e9d core, web: update translations (#20899)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-03-16 13:51:23 +00:00
authentik-automation[bot]
e80b1bfc2b core, web: update translations (#20871)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-03-13 15:45:39 +01:00
authentik-automation[bot]
0e81885813 core, web: update translations (#20835)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-03-11 14:27:49 +01:00
authentik-automation[bot]
f043a38bc3 core, web: update translations (#20809)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-03-10 08:41:16 +00:00
Teffen Ellis
d007cbc817 web: CodeSpell -> CSpell migration (#20188)
* web: Flesh out CSpell.

* Fix remaining linter warnings.

* Add comments, common names.

* Fix common prefixes.

* Omit trailing commas in jsonc files.

* Format.

* Update command.

* Install before run.

* trim empty lines

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* dont npm ci there

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* setup node in web and root

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* Format.

* Rename.

* Install root deps.

---------

Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
2026-03-09 18:18:38 +01:00
authentik-automation[bot]
bd22b451c2 core, web: update translations (#20303)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-02-17 18:18:14 +01:00
authentik-automation[bot]
41637963ce core, web: update translations (#20291)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-02-14 07:33:57 +01:00
authentik-automation[bot]
a9e382d6c5 core, web: update translations (#20271)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-02-13 13:48:42 +01:00
authentik-automation[bot]
be64ed4281 core, web: update translations (#20215)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-02-12 12:49:35 +01:00
authentik-automation[bot]
a1a22978b3 core, web: update translations (#20177)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-02-11 14:13:40 +01:00
authentik-automation[bot]
9bcf9cd7d4 core, web: update translations (#20172)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-02-10 22:40:33 +00:00
transifex-integration[bot]
55d2143fb7 translate: Updates for project authentik and language pl_PL (#20165)
translate: Translate django.po in pl_PL [Manual Sync]

63% of minimum 60% translated source file: 'django.po'
on 'pl_PL'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:07:55 +01:00
transifex-integration[bot]
6a6ede737b translate: Updates for project authentik and language it_IT (#20168)
* translate: Translate django.po in it_IT [Manual Sync]

83% of minimum 60% translated source file: 'django.po'
on 'it_IT'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate en.xlf in it_IT [Manual Sync]

72% of minimum 60% translated source file: 'en.xlf'
on 'it_IT'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:07:38 +01:00
transifex-integration[bot]
6e48258f11 translate: Updates for project authentik and language pt_PT (#20169)
* translate: Translate django.po in pt_PT [Manual Sync]

84% of minimum 60% translated source file: 'django.po'
on 'pt_PT'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* fix interpolation

Signed-off-by: Simonyi Gergő <28359278+gergosimonyi@users.noreply.github.com>

---------

Signed-off-by: Simonyi Gergő <28359278+gergosimonyi@users.noreply.github.com>
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: Simonyi Gergő <28359278+gergosimonyi@users.noreply.github.com>
2026-02-10 23:07:30 +01:00
transifex-integration[bot]
6e0a1dba7b translate: Updates for project authentik and language cs_CZ (#20166)
* translate: Translate en.xlf in cs_CZ [Manual Sync]

82% of minimum 60% translated source file: 'en.xlf'
on 'cs_CZ'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate django.po in cs_CZ [Manual Sync]

82% of minimum 60% translated source file: 'django.po'
on 'cs_CZ'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:07:20 +01:00
transifex-integration[bot]
8426655ee3 translate: Updates for project authentik and language tr_TR (#20167)
* translate: Translate en.xlf in tr_TR [Manual Sync]

63% of minimum 60% translated source file: 'en.xlf'
on 'tr_TR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate django.po in tr_TR [Manual Sync]

67% of minimum 60% translated source file: 'django.po'
on 'tr_TR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:07:15 +01:00
transifex-integration[bot]
4309d4df56 translate: Updates for project authentik and language zh-Hans (#20164)
* translate: Translate en.xlf in zh-Hans [Manual Sync]

94% of minimum 60% translated source file: 'en.xlf'
on 'zh-Hans'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate django.po in zh-Hans [Manual Sync]

97% of minimum 60% translated source file: 'django.po'
on 'zh-Hans'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:07:08 +01:00
transifex-integration[bot]
a334dbd342 translate: Updates for project authentik and language ru_RU (#20161)
* translate: Translate en.xlf in ru_RU [Manual Sync]

63% of minimum 60% translated source file: 'en.xlf'
on 'ru_RU'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate django.po in ru_RU [Manual Sync]

66% of minimum 60% translated source file: 'django.po'
on 'ru_RU'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:07:01 +01:00
transifex-integration[bot]
d1f3473c62 translate: Updates for project authentik and language ja_JP (#20160)
* translate: Translate en.xlf in ja_JP [Manual Sync]

83% of minimum 60% translated source file: 'en.xlf'
on 'ja_JP'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate django.po in ja_JP [Manual Sync]

90% of minimum 60% translated source file: 'django.po'
on 'ja_JP'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:06:47 +01:00
transifex-integration[bot]
2f2ed996c6 translate: Updates for project authentik and language de_DE (#20157)
* translate: Translate en.xlf in de_DE [Manual Sync]

77% of minimum 60% translated source file: 'en.xlf'
on 'de_DE'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate django.po in de_DE [Manual Sync]

86% of minimum 60% translated source file: 'django.po'
on 'de_DE'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:06:40 +01:00
transifex-integration[bot]
ab8dc0f73e translate: Updates for project authentik and language es_ES (#20159)
* translate: Translate en.xlf in es_ES [Manual Sync]

74% of minimum 60% translated source file: 'en.xlf'
on 'es_ES'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate django.po in es_ES [Manual Sync]

82% of minimum 60% translated source file: 'django.po'
on 'es_ES'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:06:32 +01:00
transifex-integration[bot]
7f50035b54 translate: Updates for project authentik and language fr_FR (#20163)
* translate: Translate django.po in fr_FR [Manual Sync]

95% of minimum 60% translated source file: 'django.po'
on 'fr_FR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate en.xlf in fr_FR [Manual Sync]

91% of minimum 60% translated source file: 'en.xlf'
on 'fr_FR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:06:25 +01:00
transifex-integration[bot]
5987b37455 translate: Updates for project authentik and language fi_FI (#20158)
* translate: Translate django.po in fi_FI [Manual Sync]

93% of minimum 60% translated source file: 'django.po'
on 'fi_FI'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate en.xlf in fi_FI [Manual Sync]

85% of minimum 60% translated source file: 'en.xlf'
on 'fi_FI'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 23:06:15 +01:00
transifex-integration[bot]
a060d4d373 translate: Updates for project authentik and language pt_BR (#20170)
* translate: Translate django.po in pt_BR [Manual Sync]

96% of minimum 60% translated source file: 'django.po'
on 'pt_BR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* translate: Translate en.xlf in pt_BR [Manual Sync]

92% of minimum 60% translated source file: 'en.xlf'
on 'pt_BR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-02-10 22:41:46 +01:00
authentik-automation[bot]
fd2c964479 core, web: update translations (#20152)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-02-10 19:51:39 +00:00
authentik-automation[bot]
777c5b74e4 core, web: update translations (#19998)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-02-04 07:09:50 +01:00
authentik-automation[bot]
a31c9db1cb core, web: update translations (#19868)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-02-02 13:29:17 +01:00
authentik-automation[bot]
ccd1709980 core, web: update translations (#19824)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-01-29 13:16:10 +01:00
authentik-automation[bot]
b10fe9c18a core, web: update translations (#19799)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-01-28 14:50:54 +01:00
authentik-automation[bot]
c0774c8fef core, web: update translations (#19717)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-01-27 15:29:19 +01:00
authentik-automation[bot]
965e776797 core, web: update translations (#19535)
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
2026-01-21 13:52:25 +01:00