Nextcloudの電子メール2要素認証の「Two Factor e-mail provider」

Nextcloudアプリの「A Two-Factor-Auth Provider for e-mail」を試してみました．これはNextcloud認証時にユーザID/パスワードで認証した後設定されたメールアドレスにワンタイムトークンが届いて，それを使って2要素目の認証ができるようになるものです．

Two Factor e-mail provider – アプリ – App Store – Nextcloud

$ sudo -u www-data php occ app:install twofactor_admin
twofactor_admin 3.0.0 installed
twofactor_admin enabled

まずは導入．occ コマンドでインストールしました．WebIFからでもOKです．

2要素認証を有効にしたいユーザでNextcloud Webにログインして，「右上のアイコン」→「設定」→「個人情報」の「メール」に正しいメールアドレスが設定されているのを確認して，「セキュリティ」→「二要素認証」→「Email verification」の「Enable」を押して有効にします．

Note

電子メールアドレスが未登録だと以下のようなメッセージとなりました．
Could not generate a code: user hoge does not exist

するとトークンがNextcloudに設定したメールアドレスに送信されるのでメールを確認してトークンをテキストボックスに入力して，「Veryfi」を押して確認します．

うまく行きました．
一旦ログアウトしてログインしてみます．

ユーザID/パスワードで認証した後，「Email verification」の画面になります．メールが送信されているはずかので確認してそこに書かれているトークンを入力してログインします．

2要素認証ではTOTP以外にもSMS, Telegram, Signalなどもありますがそれぞれ設定が面倒です．電子メールであればユーザの設定は少ないので良さそうです．

Nextcloud 14 の Telegram を使った2要素認証 – matoken’s meme

環境

$ sudo -u www-data php occ app:list | grep previewgenerator:
- previewgenerator: 3.1.1
$ sudo -u www-data php occ --version
Nextcloud 20.0.8
$ dpkg-query -W php mariadb-server apache2
apache2 2.4.38-3+deb10u4
mariadb-server 1:10.3.27-0+deb10u1