---
title: "TypoScript Reference"
manual: "Passkeys Frontend Authentication"
version: "2.0"
permalink: "https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:typoscript-reference@2.0"
source: "Configuration/TypoScript.rst"
rendered: "2026-09-29T22:18:36+00:00"
---

# TypoScript Reference {#typoscript-reference}

The extension provides TypoScript constants and setup for the plugin view
paths, the default of the discoverable login switch and the default CSS.

## Constants {#constants}

**Available TypoScript constants**

```typoscript
plugin.tx_nrpasskeysfe.settings.discoverableEnabled = 1
plugin.tx_nrpasskeysfe.settings.css.includeDefault = 1
```

-   **plugin.tx_nrpasskeysfe.settings.discoverableEnabled**

    -   *type:* boolean
    -   *Default:* `1`

    Discoverable (usernameless) login. The login plugin follows it where
    its FlexForm field is set to *Use the site setting* (see
    [settings.discoverableEnabled](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:confval-settings-discoverableenabled@2.0)); an element set to *On* or
    *Off* keeps its own value. The felogin integration always follows it:
    with `0` the passkey tab of the felogin form shows a username field and
    asks for the username before a passkey is accepted.

-   **plugin.tx_nrpasskeysfe.settings.css.includeDefault**

    -   *type:* boolean
    -   *Default:* `1`

    Load `passkey-fe.css` with the login, management and enrollment
    plugins and with the felogin integration. See
    [Disabling default CSS](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:typoscript-disabling-css@2.0).

The enrollment page the post-login interstitial redirects to is a site
setting ([nr_passkeys_fe.enrollmentPageUrl](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:confval-nr-passkeys-fe-enrollmentpageurl@2.0)), not a TypoScript
constant.

## Setup {#setup}

The setup configures view paths for the Fluid templates:

**EXT:nr_passkeys_fe/Configuration/TypoScript/setup.typoscript**

```typoscript
plugin.tx_nrpasskeysfe {
    view {
        templateRootPaths.0 = EXT:nr_passkeys_fe/Resources/Private/Templates/
        partialRootPaths.0 = EXT:nr_passkeys_fe/Resources/Private/Partials/
        layoutRootPaths.0 = EXT:nr_passkeys_fe/Resources/Private/Layouts/
    }
    settings {
        discoverableEnabled = {$plugin.tx_nrpasskeysfe.settings.discoverableEnabled}
        css.includeDefault = {$plugin.tx_nrpasskeysfe.settings.css.includeDefault}
    }
}

plugin.tx_felogin_login.view.templateRootPaths.100 = EXT:nr_passkeys_fe/Resources/Private/Templates/Felogin/
plugin.tx_felogin_login.view.partialRootPaths.1700000000 = EXT:nr_passkeys_fe/Resources/Private/Partials/

plugin.tx_felogin_login.settings.passkeys {
    discoverableEnabled = {$plugin.tx_nrpasskeysfe.settings.discoverableEnabled}
    css.includeDefault = {$plugin.tx_nrpasskeysfe.settings.css.includeDefault}
}
```

The felogin template override receives only felogin's own settings, so the
two constants are handed to it under `plugin.tx_felogin_login.settings.passkeys`.

## felogin partial path {#typoscript-felogin-partials}

The felogin override renders the partial `NrPasskeysFe/LoginAssets` it
shares with the login plugin. felogin finds it through the partial path key
`1700000000`, chosen high so that it does not collide with the keys a site
usually gives its own felogin partials. A site that sets
`plugin.tx_felogin_login.view.partialRootPaths.1700000000` itself replaces
this path and must provide `NrPasskeysFe/LoginAssets.html` there, for
example as a copy of the extension's partial.

## Overriding templates {#overriding-templates}

To override a template, add a custom path at a higher index:

```typoscript
plugin.tx_nrpasskeysfe {
    view {
        templateRootPaths.10 = EXT:my_site/Resources/Private/Templates/NrPasskeysFe/
    }
}
```

Then create the template in the same directory structure, e.g.:
`EXT:my_site/Resources/Private/Templates/NrPasskeysFe/Login/Index.html`

## Disabling default CSS {#typoscript-disabling-css}

To include your own styles instead of the extension's default CSS, set the
constant, which covers the plugins and the felogin integration:

```typoscript
plugin.tx_nrpasskeysfe.settings.css.includeDefault = 0
```
