Skip to main content
User guide

OTP tokens

TOTP and HOTP token fields, user self-service, enabling two-factor on a user, how password plus OTP is entered, and resynchronising a drifted token.

This page covers the OTP tokens page under Authentication. An OTP token is a software or hardware one-time-password generator bound to a user. IPA's KDC supports it natively: the user types the password and the one-time code as one string, the KDC verifies both and issues a ticket carrying the otp authentication indicator. No RADIUS is needed and no licence module is involved.

OTP tokens

Token fields

Token

FieldMeaning
Unique IDToken identifier. Left empty on add, a UUID is generated
TypeTOTP (time-based, default, changes every 30 s) or HOTP (counter-based)
OwnerThe user it belongs to. A user may own several
Validity start, Validity endOutside the window the token is dead; for temporary accounts
Vendor, Model, SerialRegistration data for hardware tokens, informational
Algorithm, Digits, Clock offset, Countersha1, 6 digits and 30 s are the defaults of Google Authenticator-class apps; hardware tokens follow the vendor's parameters

On add the page shows a QR code once, for FreeOTP, Google Authenticator and similar apps. It is shown only that once; to scan again, delete and recreate the token.

Self-service

A logged-in user can add and delete their own tokens (owner is self) without an administrator. When an administrator adds a token for a user, the secret is generated server-side and the administrator sees the QR code, which makes the administrator a second holder of that token. The user recreates one before it goes live.

Enabling two-factor on a user

Owning a token does not enforce it. On the user's detail page under Account settings, User authentication types, ticking Two factor authentication (password + OTP) means that user can log in only with password plus OTP; a bare password is refused. With nothing ticked, the default from the Configuration page applies (password, out of the box).

The same place offers Password, RADIUS, PKINIT, Hardened password and External Identity Provider. Several ticked means any of them is accepted.

Entering it

In the password field, type the password immediately followed by the six-digit code with no separator. Password Secret123 and code 482913 are entered as Secret123482913. sshd, the login page and kinit all work this way. sssd clients need krb5_use_kdcinfo (default) and IPA client 4.5 or later to pass both parts to the KDC.

Resynchronising

When a phone's clock drifts (TOTP) or a counter gets ahead (HOTP), Sync OTP token at the bottom of the login page takes the password and two consecutive codes. The KDC computes the offset and stores it in the token's Clock offset or Counter field.

Boundaries

TopicNotes
ScopeIPA users only. AD users' MFA lives in AD
adminCan be put on two-factor, but keep one password-only emergency administrator so a lost token does not lock everyone out
HOTP countersReplicate between IPA servers. Using a code on two servers within a short window yields an already-used refusal

On this page