1

ユーザー認証にexpress-stormpathを使用する基本的なnode.js / Expressサーバーがあります。電子メールの確認なしで、すべてが美しく機能します。明らかに、電子メール認証は多くの理由で望ましいのですが、私の電子メール認証ユーザーは、制限されたルートに対して標準のログイン フローを使用することができません。

私が持っているカスタムルートの特定の例:

app.get('/myaccount', stormpath.loginRequired, function(req, 
res.send('Your email address is: ' + req.user.email);});

このルートは、メール検証の前に登録したユーザーには完全に機能します。

ただし、電子メールの確認後にサインアップしたユーザーの場合は機能しません。これらのユーザーはメールを受信し、リンクをクリックし、確認画面 (「あなたのアカウントは正常に確認され、使用する準備ができました」) を取得し、Stormpath ダッシュボードで「有効」とマークされています。

具体的には、正しいパスワードを入力すると、http://glacial-hollows-8156.herokuapp.com/login?next=%2Fmyaccount に再度送信され無限にログイン画面が表示されます。間違ったパスワードを入力すると、その旨を知らせる標準エラーが表示されます。

何か案は?おそらく、電子メールで確認されたアカウントが正しく初期化されていませんか? '/me' のような Stormpath が提供するルートでも動作は同じなので、私のルートではないと思います。電子メール検証をオンまたはオフにすると、/myaccount は電子メール検証されていないユーザーに対しては機能し続け、電子メール検証されたユーザーに対しては常にこのように機能しなくなります

4

1 に答える 1