Feathers: サインアップと認証の組み合わせ

作成日 2016年12月27日  ·  3コメント  ·  ソース: feathersjs/feathers

認証の背後にある「魔法」についてはあまり説明がないように感じます。 サインアップアクションを組み合わせてJWTトークンを返したいのですが。 誰か助けてもらえますか?

私はそれが次のようなものになると思います:

  • ミドルウェア/signup.js
    `` `js
    const newUser = {
    ユーザー:req.body.user、
    パス:req.body.pass
    }
    app.service( 'users')。create(newUser)
    .then(user => app.authenticate(user))//認証は定義されていませんが
    .then(authenticatedUser => res.json(authenticatedUser));
    「」

魔法の領域の外でauthを使用する方法のヘルプや説明を得ることができますか? ありがとう!

編集:手動認証に関するドキュメントがもっとあるはずだと思うので、これを問題にしました。 これはデモンストレーションのようなものです。#467などの問題があることはすでに知っています。

最も参考になるコメント

生成されたアプリは引き続き古い認証を使用しますが、その場合は

const { email, password } = req.body;

app.service('users').create({ email, password })
  .then(user => app.service('auth/local').create({ email, password }))
  .then(authenticatedUser => res.json(authenticatedUser));

全てのコメント3件

@rsteggあなたはかなり近いようです。 app.authenticate()が定義されていない場合は、認証プラグインの前にサインアップミドルウェアを使用している可能性があります。 まず、認証プラグインが使用されていることを確認してください。

const newUser = { 
  user: req.body.user,
  pass: req.body.pass
}
app.service('users').create(newUser)
  .then(user => app.authenticate(user)) // authenticate should be defined if you register middleware in the correct order.
  .then(jwt => res.json(jwt));

生成されたアプリは引き続き古い認証を使用しますが、その場合は

const { email, password } = req.body;

app.service('users').create({ email, password })
  .then(user => app.service('auth/local').create({ email, password }))
  .then(authenticatedUser => res.json(authenticatedUser));

この問題は、クローズされた後、最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、この問題へのリンクを含む新しい問題を開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価