# Authenticator Config
This command is used to configure various authenticator features through the use of its subcommands.
[Spec: 6.11. authenticatorConfig (0x0D)](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#authenticatorConfig)
To use this feature, the Authenticator must implement `authnrCfg` . check with `enable_info_option()`
```rust
fn is_supported(device: &FidoKeyHid) -> Result {
if device
.enable_info_option(&&InfoOption::AuthnrCfg)?
.is_some()
{
Ok(true)
} else {
Ok(false)
}
}
```
> [Example](https://github.com/gebogebogebo/ctap-hid-fido2/blob/c0b8279335b3387d6307731602e59655b7cc5517/examples/ctapcli/config.rs#L60-L66)
## toggle_always_uv()
Toggle Always Require User Verification.
[Spec: 6.11.2. Toggle Always Require User Verification](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#toggle-alwaysUv)
```rust
device.toggle_always_uv(Some(&pin))?;
```
> [Example](https://github.com/gebogebogebo/ctap-hid-fido2/blob/c0b8279335b3387d6307731602e59655b7cc5517/examples/ctapcli/config.rs#L34)
## set_min_pin_length()
**WARNING Cannot be restored.**
Change minimum PIN Length.
[Spec: 6.11.4. Setting a minimum PIN Length](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#setMinPINLength)
```rust
device.set_min_pin_length(new_min_pin_length, Some(&pin))?;
```
> [Example](https://github.com/gebogebogebo/ctap-hid-fido2/blob/c0b8279335b3387d6307731602e59655b7cc5517/examples/ctapcli/config.rs#L49)
## set_min_pin_length_rpids()
**WARNING Cannot be restored.**
Set RP IDs which are allowed to get this information via the minPinLength extension.
[Spec: 6.11.4. Setting a minimum PIN Length](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#setMinPINLength)
```rust
device.set_min_pin_length_rpids(rpids, Some(&pin))?;
```
> [Example](https://github.com/gebogebogebo/ctap-hid-fido2/blob/eba34ec41e16cab12b974652abe368c362edf929/examples/ctapcli/cfg.rs#L67)
## force_change_pin()
**WARNING Cannot be restored.**
PIN change is required after this command.
The authenticator returns CTAP2_ERR_PIN_POLICY_VIOLATION until changePIN is successful.
[Spec: 6.11.4. Setting a minimum PIN Length](https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#setMinPINLength)
```rust
device.force_change_pin(Some(&pin))?;
```
> [Example](https://github.com/gebogebogebo/ctap-hid-fido2/blob/eba34ec41e16cab12b974652abe368c362edf929/examples/ctapcli/cfg.rs#L82)