File

mod_sasl2_fast/README.md @ 6191:94399ad6b5ab

mod_invites_register_api: Use set_password() for password resets Previously the code relied on the (weird) behaviour of create_user(), which would update the password for a user account if it already existed. This has several issues, and we plan to deprecate this behaviour of create_user(). The larger issue is that this route does not trigger the user-password-changed event, which can be a security problem. For example, it did not disconnect existing user sessions (this occurs in mod_c2s in response to the event). Switching to set_password() is the right thing to do.
author Matthew Wild <mwild1@gmail.com>
date Thu, 06 Feb 2025 10:13:39 +0000
parent 6107:bc7acb8e627e
line wrap: on
line source

---
labels:
- Stage-Beta
summary: "Fast Authentication Streamlining Tokens"
rockspec:
  dependencies:
  - mod_sasl2
---

This module implements a mechanism described in [XEP-0484: Fast Authentication Streamlining Tokens] via which clients can exchange a
password for a secure token, improving security and streamlining future reconnections.

This module depends on [mod_sasl2].

## Configuration

| Name                      | Description                                            | Default               |
|---------------------------|--------------------------------------------------------|-----------------------|
| sasl2_fast_token_ttl      | Default token expiry (seconds)                         | 86400*21 (21 days)  |
| sasl2_fast_token_min_ttl  | Time before tokens are eligible for rotation (seconds) | 86400 (1 day)       |

The `sasl2_fast_token_ttl` option determines the length of time a client can
remain disconnected before being "logged out" and needing to authenticate with
a password. Clients must perform at least one FAST authentication within this
period to remain active.

The `sasl2_fast_token_min_ttl` option defines how long before a token will be
rotated by the server. By default a token is rotated if it is older than 24
hours. This value should be less than `sasl2_fast_token_ttl` to prevent
clients being logged out unexpectedly.

# Compatibility

  Prosody-Version Status
  --------------- ----------------------
  trunk           Works as of 2024-12-21
  0.12            Does not work