"Create new device password" is missing for some users

Hi folks, I got following problem and hope for some tipps where to dig.
An user wants to add a new device for sync with Nextcloud app, but the section Devices & sessions under Security only lists his already connected devices. The button for “Create new device password” is missing. I checked with the user and also using “Impersonate” - nothing there. It works with my admin account though.

I am not shure whether this is a bug or me missing something.

For better illustration see screenshots

Nextcloud version 19.0.1:
Operating system and version Debian 10.5:
Apache or nginx version 2.4.38:
PHP version 7.4.9:

Is this the first time you’ve seen this error? Y:

The output of your Nextcloud log in Admin > Logging: nothing that seems to be related

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'instanceid' => 'abc',
  'passwordsalt' => 'abc',
  'secret' => 'abc',
  'trusted_domains' => 
  array (
    0 => 'cloud.abc.de',
  ),
  'datadirectory' => '/var/www/vhosts/abc.de/cloud.abc.de/data',
  'dbtype' => 'mysql',
  'version' => '19.0.1.1',
  'overwrite.cli.url' => 'https://cloud.abc.de/',
  'htaccess.RewriteBase' => '/',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.distributed' => '\\OC\\Memcache\\APCu',
  'dbname' => 'abc',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'abc.de',
  'dbpassword' => 'abc',
  'installed' => true,
  'maintenance' => false,
  'theme' => '',
  'loglevel' => 2,
  'default_language' => 'de',
  'default_locale' => 'de',
  'mail_smtpmode' => 'sendmail',
  'mail_smtpsecure' => 'ssl',
  'mail_from_address' => 'nextcloud',
  'mail_domain' => 'abc.de',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_smtphost' => 'localhost',
  'mail_smtpport' => '587',
  'mail_smtpname' => 'nextcloud@abc.de',
  'mail_smtppassword' => 'abc',
  'mail_smtpdebug' => false,
  'twofactor_enforced' => 'false',
  'twofactor_enforced_groups' => 
  array (
    0 => 'admin',
  ),
  'twofactor_enforced_excluded_groups' => 
  array (
    0 => 'abc',
    1 => 'abc',
    2 => 'abc',
  ),
  'mysql.utf8mb4' => true,
  'updater.release.channel' => 'stable',
);

Sorry. I do not really understand your problem. Also i do not really understand the following text. But please read it. Perhaps it helps you.

Starting with Nextcloud 15
For password changes in external user backends the device-specific passwords are marked as invalid and once a login of the user account with the main password happens all device-specific passwords are updated and work again.

https://docs.nextcloud.com/server/15/user_manual/session_management.html

Thanks for your answer, but I do not use an external backend, it’s just a plain Nextcloud installation with MariaDB.

Okay, shameless self bump here…
In between I had different ideas to what this might be related to and tried to check it:

  • it is not admin vs. not admin
  • it is not 2FA enabled vs. not
  • with encryption I am not completely sure, but at least all my users have the same (default) settings

And last but not least: problem is still there going from 19.0.1 to 19.0.2 to 19.0.3

Anybody out there with ideas?

Just stumbled across the same problem, but it happened on NC 27.0.2.

Ordinary user, some Android app logged in via App password without problems for long time, but ceased to do so now (whatever the reason).
The button mentioned above is missing for this specific user - a different user has it available, and admin has it, too.

Any ideas how come or how to solve?

are you using impersonate? I think this is a security feature, so that only the actual user can see that control

Log in as the actual user and maybe it will be there