1

ユーザーがサービスに登録し、メールで登録を確認するユースケースがあります。私が抱えている問題は、アカウントを作成するために電子メールが確認されるまで待たなければならないことです (これは変更できない外部要件です)。そのため、パスワードをどこかに保存して、プレーンテキストで取得できるようにする必要があります。

これを行う最善の方法は何ですか?頭に浮かぶ解決策は、それを暗号化し、ユーザーが認証されるまで redis に保存してから、アカウントを作成して redis エントリを削除することです。

それはこれを行うための最良/最も安全な方法ですか?

4

1 に答える 1

2

プロセスを変更します。事前にパスワードを要求するのではなく、最初に住所の確認を行います。

登録フォームは電子メール アドレスのみを取得し、リンク内の電子メール アドレスにトークンを送信します。通常、次のようなものです。

http://.../verify?email=bob@example.com&expires=nnn&sig=xxx

ここで、nnn はリンクが使用できなくなるまでのタイムスタンプで、xxx はHMAC(serversecret, email+timestamp)認証できるようにするためのものです。

リンクをたどると、パスワード フィールドとその他の詳細を含むサインアップ ページが表示されます。

(おまけ: パスワードを忘れた場合は同じプロセスを使用してください。リンクをたどると、サインアップ ページまたはアカウント回復ページのいずれかが表示されます。)

于 2013-09-05T11:14:32.477 に答える