view mod_email_pass/README.markdown @ 5193:2bb29ece216b

mod_http_oauth2: Implement stateless dynamic client registration Replaces previous explicit registration that required either the additional module mod_adhoc_oauth2_client or manually editing the database. That method was enough to have something to test with, but would not probably not scale easily. Dynamic client registration allows creating clients on the fly, which may be even easier in theory. In order to not allow basically unauthenticated writes to the database, we implement a stateless model here. per_host_key := HMAC(config -> oauth2_registration_key, hostname) client_id := JWT { client metadata } signed with per_host_key client_secret := HMAC(per_host_key, client_id) This should ensure everything we need to know is part of the client_id, allowing redirects etc to be validated, and the client_secret can be validated with only the client_id and the per_host_key. A nonce injected into the client_id JWT should ensure nobody can submit the same client metadata and retrieve the same client_secret
author Kim Alvefur <zash@zash.se>
date Fri, 03 Mar 2023 21:14:19 +0100
parents 4d73a1a6ba68
children
line wrap: on
line source

---
labels:
- 'Stage-Beta'
...

Introduction
============

This module aims to help in the procedure of user password restoration.
To start the restoration, the user must go to an URL provided by this
module, fill the JID and email and submit the request.

The module will generate a token valid for 24h and send an email with a
specially crafted url to the vCard email address. If the user goes to
this url, will be able to change his password.

Usage
=====

Simply add "email\_pass" to your modules\_enabled list and copy files
"**mod\_email\_pass.lua**" and "**vcard.lib.lua**" to prosody modules
folder. This module need to that **https\_host** or **http\_host** must
be configured. This parameter is necessary to construct the URL that has
been sended to the user.

This module only send emails to the vCard user email address, then the
user must set this address in order to be capable of do the restoration.

Configuration
=============

  --------------- ------------------------------------------------------------
  smtp\_server    The Host/ip of your SMTP server
  smtp\_port      Port used by your SMTP server. Default 25
  smtp\_ssl       Use of SMTP SSL legacy (No STARTTLS)
  smtp\_user      Username used to do SMTP auth
  smtp\_pass      Password used to do SMTP auth
  smtp\_address   EMail address that will be apears as From in mails
  msg\_subject    Subject used for messages/mails
  msg\_body       Message send when password has been changed
  url\_path       Path where the module will be visible. Default /resetpass/
  --------------- ------------------------------------------------------------

Compatibility
=============

  ----- -------
  0.9   Works
  ----- -------