Skip to content

Commit

Permalink
✨ [#4246] Provide explicit auth_type variable
Browse files Browse the repository at this point in the history
We notice now logic is written based on auth.plugin rather than
auth.attribute, which makes using a different auth backend providing
the same attribute hard.

Instead, provide the auth_type variable to have a better name, and
update the docs to favour this one.
  • Loading branch information
sergei-maertens committed Jul 1, 2024
1 parent 8afb1e1 commit a5ad075
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 11 deletions.
29 changes: 19 additions & 10 deletions docs/manual/forms/basics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -290,20 +290,29 @@ Een vaste lijst met variabelen die beschikbaar zijn door het formulier heen.
Afhankelijk van het type formulier zijn variabelen wel of niet voorzien van een
waarde.

=============== ========= =========================== ====================================================================================================================
=============== ========= =========================== =========================================================================
Variabele Type Voorbeeld waarde Toelichting
=============== ========= =========================== ====================================================================================================================
now datetime ``2022-09-09 18:29:00`` Datum van vandaag. Hier zijn :ref:`verschillende weergaven <manual_templates_formatting_of_variables>` van mogelijk.
=============== ========= =========================== =========================================================================
now datetime ``2022-09-09 18:29:00`` Datum van vandaag. Hier zijn
:ref:`verschillende weergaven <manual_templates_formatting_of_variables>`
van mogelijk.
Seconden en milliseconden zijn altijd 0.
environment string ``production`` De waarde die tijdens de installatie gezet is als ``ENVIRONMENT``. Zie: :ref:`installation_environment_config`.
environment string ``production`` De waarde die tijdens de installatie gezet is als
``ENVIRONMENT``. Zie: :ref:`installation_environment_config`.
form_name string ``Paspoort aanvragen`` De naam van het formulier.
form_id string ``1c453fc8-b10f-4510-``... Het unieke ID van het formulier.
auth object Een verzameling van authenticatie gegevens. Zie hieronder.
auth.plugin string ``digid`` De systeemnaam van de gebruikte authenticatie plugin.
auth.attribute string ``bsn`` Kan de waarden ``bsn``, ``kvk`` of ``pseudo`` hebben.
auth.value string ``111222333`` De identificerende waarde in het ``attribute`` van de authenticatie plugin.
auth.value string ``111222333`` De identificerende waarde in het ``attribute`` van de
authenticatie plugin.
auth.machtigen object TODO
auth_bsn string ``111222333`` De waarde van ``auth.value`` indien ``auth.attribute`` als waarde ``bsn`` heeft. Anders leeg.
auth_kvk string ``90001354`` De waarde van ``auth.value`` indien ``auth.attribute`` als waarde ``kvk`` heeft. Anders leeg.
auth_pseudo string ``a8bfe7a293dd``... De waarde van ``auth.value`` indien ``auth.attribute`` als waarde ``pseudo`` heeft. Anders leeg.
=============== ========= =========================== ====================================================================================================================
auth_type string ``bsn`` Kan de waarden ``bsn``, ``kvk`` of ``pseudo`` hebben.
auth_bsn string ``111222333`` De waarde van ``auth.value`` indien ``auth_type`` als waarde
``bsn`` heeft. Anders leeg.
auth_kvk string ``90001354`` De waarde van ``auth.value`` indien ``auth_type`` als waarde
``kvk`` heeft. Anders leeg.
auth_pseudo string ``a8bfe7a293dd``... De waarde van ``auth.value`` indien ``auth_type`` als waarde
``pseudo`` heeft. Anders leeg.
auth.attribute string ``bsn`` Kan de waarden ``bsn``, ``kvk`` of ``pseudo`` hebben (verouderd,
gebruik ``auth_type`` in d eplaats).
=============== ========= =========================== =========================================================================
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,18 @@ def get_initial_value(
return auth_data


def get_auth_value(submission: Submission | None, attribute: str) -> str:
@register_static_variable("auth_type")
class AuthType(BaseStaticVariable):
name = _("Authentication type")
data_type = FormVariableDataTypes.string

def get_initial_value(self, submission: Submission | None = None) -> str:
if not submission or not submission.is_authenticated:
return ""
return submission.auth_info.attribute


def get_auth_value(submission: Submission | None, attribute: AuthAttribute) -> str:
if not submission or not submission.is_authenticated:
return ""

Expand Down
2 changes: 2 additions & 0 deletions src/openforms/authentication/tests/test_static_variables.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ def test_auth_static_data(self):
"auth_bsn": "111222333",
"auth_kvk": "",
"auth_pseudo": "",
"auth_type": "bsn",
}

for variable_key, value in expected.items():
Expand All @@ -44,6 +45,7 @@ def test_auth_static_data_no_submission(self):
"auth_bsn": "",
"auth_kvk": "",
"auth_pseudo": "",
"auth_type": "",
}

for variable_key, value in expected.items():
Expand Down

0 comments on commit a5ad075

Please sign in to comment.