Skip to content

Commit 916a609

Browse files
defguard-communitygitbook-bot
authored andcommitted
GITBOOK-443: per-location MFA config ADR
1 parent c4ae2af commit 916a609

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

  • in-depth/architecture-decision-records
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
11
# 1.5
22

3-
TODO
3+
## 2025-07-22 Per-location MFA settings
4+
5+
Until this point enabling MFA for a location has been a simple on/off toggle for each location. Since using an external OIDC provider (e.g. Google) for client MFA was introduced in [#1264](https://github.com/DefGuard/defguard/pull/1264) we now need to configure which type of MFA (internal or external) a given location is using.
6+
7+
In practice this means that within core the `WireguardLocation` struct no longer has an `mfa_enabled` boolean field, but instead uses a `location_mfa_mode` field. This field uses a `LocationMfaMode` enum with three possible values (for now): `Disabled`, `Internal` and `External`.
8+
9+
To retain compatibility with legacy clients [our protos were updated](https://github.com/DefGuard/proto/pull/40) to include the new field as optional and `mfa_enabled` field was marked as deprecated, but not yet removed. It will now be set to `true` only if a location uses internal MFA which allows pre-1.5 clients to work as before with new core releases.
10+
11+
Since the new field is optional and `mfa_enabled` is still present, new client can still use a pre-1.5 core for internal MFA.

0 commit comments

Comments
 (0)