nextcloud / nextcloud/twofactor_totp

Allow submission of one-time password on API calls

Open
#1,114 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
318
Forks
57
Avg merge
1h 58m
Merged PRs (30d)
2

Description

Feature Request

Not sure if this feature request belongs here or in the server repository 🤔 Sorry if it's the wrong one.

The use of one-time passwords is a nice security enhancement and I would like to enable it for all users, but I think there is a use case that hasn't been anticipated yet.

Login through the web interface lets you provide user credentials and totp, external applications can use app passwords but afaik (trusted) external applications that let the user enter their credentials cannot access totp protected accounts.
I haven't found a way to supply the one-time password to the API. Github for example supports the X-GitHub-OTP header.

Use case: For security reasons I do not want to store an app password in an external application (at least not yet) but instead let users provide their credentials including totp to a form when needed.

Summary

Support the submission of one-time password on API calls (e.g. user metadata).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

First determine whether this belongs in twofactor_totp or the Nextcloud server repository, then trace the API authentication path and the user metadata endpoint mentioned in the request. Done means defining and implementing a secure way for API callers to submit a one-time password for TOTP-protected accounts, with tests covering the behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, authentication, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.