Skip to content

Admin → Users: accept an invited user's invitation for them, with a password the administrator sets #653

Closed

Description

@schmitch

An invited local account (#322) signs in only once its user has followed the invitation link and chosen a password. An administrator who sets an account up for someone and wants to hand it over ready to use (an install without email, a user without a mailbox, an account set up by hand) cannot finish the invitation: the account stays invited or invitation expired.

Expected

  • POST /admin/users/{id}/invitation/accept with {"password": "…"} accepts the invitation on the user's behalf: the password becomes the account's, the account is no longer invited (status active), and its invitation, if there is one, is marked accepted, so its link stops working. One transaction.
  • It works whether a live invitation waits or not (invited and invitation_expired).
  • The password follows the invitation page's rules (12 characters to 1024 bytes); 400 otherwise.
  • 409 for an account that is not an active invited one (its user chose a password already, an account of another realm, a service account, a deactivated account); 404 for no account.
  • Admin → Users → <user> offers Accept invitation for an invited account, asking for the password twice.
  • docs/deployment.md (Inviting users) describes it: an administrator sets another person's password only this way.

Acceptance criteria

  • Server tests: accepting sets the password (the user signs in with it), clears the status, makes the old link answer as invalid; 400, 404 and 409 as above.
  • A web UI test for the action.
  • A changelog fragment feature.

Activity

  1. added this to the 2.2.0 milestone on Oct 28, 2026
  2. self-assigned this
    on Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions