メールコードを使った簡単なアカウント登録

他にも問題があります。

/login にいて、「Email/username」フィールドにユーザー名を入力します。上記で述べた最初の混乱の後、「Email me a one-time login code」をクリックします。すると「Welcome back」ページに移動しますが、そこに「Email」フィールドがユーザー名で事前入力されています(問題1)。うっかり「Continue」をクリックすると、3つの赤いメッセージが一斉に表示されます(問題2):

  1. Incorrect username, email or password
  2. :warning: Fix this error to continue - Email - Please enter a valid email address
  3. :warning: Please enter a valid email address

次の「Continue」ボタンの横にある「Login with your password instead」というテキストは、Continueボタンの説明のように見えますが、これは大きな問題ではありません。

その後、「Continue」をクリックします。「Welcome back - Check your email」画面に移動しますが、「Incorrect username, email or password」のエラーはまだ表示されたままです(問題3)。

ここでは、追加のリンク(「Resend code」、「Use a different email address」)が「Continue」の下に配置されており、それらが別のものであることがより明確になっています。

:information_source: この即将到来的変更に伴い、ランダムなユーザー名の生成はデフォルトで無効になり、完全にオプトイン制になることを確認するための注記を追加します。本トピックの最初の投稿もそれに応じて更新されました。

フィードバックをくださった皆さん、ありがとうございました。

「いいね!」 3

個人的には、クリックできるリンクがない認証メールやログインメールは嫌いなので、サイト設定でこの機能を切り替えられるオプションを追加してもらえると嬉しいです。

最初の登録ステップとしてメールアドレスとコードを入力するのは良いですが、データ保護に関する条項に同意せずにメールアドレスを入力して(メールを送信する)ことは許容できるのか疑問です。すでに述べたように、モデレーターによる承認フローに組み込まれる必要があります(つまり、承認が確定していない場合は「アカウントを有効化してください」というメールを送らないようにする)

「いいね!」 1

これは実現が容易ではない点があり、理由は2つあります。第一に、メールアドレスの所有権確認には、プロダクトとして一つの仕組みを持つことが望ましいです。二つの仕組みを併用すると、エンドユーザー、管理者、そして私たち自身のカスタマーサポートチームにとって混乱を招きます。

第二の理由はセキュリティに関わるものです。リンクは、潜在的な攻撃者によってより簡単にハイジャックされたり、操作されたりする可能性があります。例えば、正規のサイトからのものであるように見せかけたメールを送り、その中のリンクも正規のもののように見せかけ、実際にはユーザーを別のサイトやアカウントに誘導するのは容易です。リンクはソーシャルエンジニアリング攻撃の実行を容易にしますが、メールコードの場合はそうではありません。

一回限りのメールであれば問題ないのではないでしょうか?いずれにせよ、リンクを送信する場合とコードを送信する場合とで、この点に違いがあるのかどうか私には分かりません。