Sails.js Waterlock / auth / registerはエラー500を引き起こします

アレクサンダーArutinyants

ログイン時に新しいユーザーを作成しないようにWaterlockを作成しようとしています。

新しいユーザーを登録するために設定createOnNotFoundfalseて使用しようとしたときhttp://localhost:1337/auth/[email protected]&password=12345678私が持っている500エラー:

error: Sending 500 ("Server Error") response: TypeError: undefined is not a function
at Object.module.exports (D:\temp\sails-waterlock\node_modules\waterlock\lib\controllers\actions\register.js:25:44)
at bound (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\lodash\dist\lodash.js:729:21)
at routeTargetFnWrapper (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\lib\router\bind.js:179:5)
at callbacks (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:164:37)
at param (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:138:11)
at param (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:135:11)
at pass (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:145:5)
at nextRoute (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:100:7)
at callbacks (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:167:11)
at C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\lib\router\bind.js:187:7
at alwaysAllow (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\lib\hooks\policies\index.js:207:11)
at routeTargetFnWrapper (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\lib\router\bind.js:179:5)
at callbacks (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:164:37)
at param (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:138:11)
at param (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:135:11)
at pass (C:\Users\sandres\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:145:5) [TypeError: undefined is not a function]

エラーが発生するレジスタモジュールは、ウォーターロックライブラリの一部です

現在のレジスタモジュールのコードは次のとおりです。

'use strict';

/**
 * login action
 *
 * tries to find if we have an auth method to handle this type of login
 * request.
 *
 * GET /auth/login
 */
module.exports = function(req, res){
   var params = waterlock._utils.allParams(req);

  // If there is only 1 chosen auth method just assume it
  if(waterlock._utils.countTopLevel(waterlock.methods) === 1){
    params.type = waterlock._utils.accessObjectLikeArray(0, waterlock.methods).authType;
  }

  if(typeof params.type === 'undefined'){
    return res.badRequest('You must specify a type parameter.');
  }

  if(waterlock.methods.hasOwnProperty(params.type)){
    // call the login function of the correct auth type
    waterlock.methods[params.type].actions.register(req, res);
  }else{
    return res.badRequest('unknown/invalid authentication type');
  }
};

帆v0.11、ウォーターロックv 0.1.0

今すぐユーザーを登録するにはどうすればよいですか?

更新:

これは、認証に使用するwaterlock-local-authモジュールに登録アクションがまだ実装されていないために発生します。詳細については、このPRを参照してください。

したがって、更新された質問は、実装が完了するまでこれをどのように回避するかということです。

アレクサンダーArutinyants

私はこれをカスタム登録アクションで解決しました/controllers/AuthController.js

module.exports = require('waterlock').waterlocked({

    register: function(req, res) {
        var params = req.params.all(),
                        def = waterlock.Auth.definition,
                        criteria = { },
                        scopeKey = def.email !== undefined ? 'email' : 'username';

        var attr = {
            password: params.password
        }
        attr[scopeKey] = params[scopeKey];
        criteria[scopeKey] = attr[scopeKey];

        waterlock.engine.findAuth(criteria, function(err, user) {
            if (user)
                return res.badRequest("User already exists");
            else
                waterlock.engine.findOrCreateAuth(criteria, attr, function(err, user) {
                    if (err)
                        return res.badRequest(err);
                    delete user.password;
                    return res.ok(user);
                });
        });
    }

});

これはまさに私が必要としているものです。

一方、ウェイン-O、WATERLOCKの貢献の一つは、言った彼がフィニッシュすることを登録の実装をしてWATERLOCK-ローカルauth

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

waterlock fb auth - registering with authcode

分類Dev

Waterlock、Sails、AngularJWTトークンはブラウザから403を提供します

分類Dev

Sails.js:sails-generate-authを使用してユーザー登録後にアクセストークンを返す方法は?

分類Dev

Sails.Js-sails.Jsでページ付けを行う方法

分類Dev

Sails.jsのsails-mongoでの「ORMフックを破棄できませんでした」エラー

分類Dev

Sails JS + Angular JS:ルーティング

分類Dev

Sails.jsでJestを使用してエラーを解析する

分類Dev

Sails.JSサーバーを起動できません

分類Dev

Sails.js /Node.jsでPhusionPassengerを使用してフォームをPOSTすることはできません

分類Dev

AngularJS + sails.js

分類Dev

How to register a Handlebars partial outside partials folder on Sails.js?

分類Dev

sails.js多対多のクエリ

分類Dev

Sails.jsはIndex(root)コントローラーを作成します

分類Dev

sails.jsのバックボーン

分類Dev

Sails.jsデータが未定義

分類Dev

Sails js ::カスタム検証エラーを追加する方法

分類Dev

node.js-requireエラーはメモリリークを引き起こしますか?

分類Dev

node.js-requireエラーはメモリリークを引き起こしますか?

分類Dev

角度とjqueryを持つrequire.jsはスクリプトエラーを引き起こします

分類Dev

Sails.jsがエラーを処理しないようにする

分類Dev

ユニークはNode.jsでは機能しませんSails.js「sails-mysql」

分類Dev

Next.jsリンクの先読みは本番環境で404エラーを引き起こします

分類Dev

RabbitMQとSails.js

分類Dev

Sails JS Model Rest API

分類Dev

Sails js Error in file Upload

分類Dev

sails.jsnode.jsコントローラーでJSONを解析します

分類Dev

sails.js / node.jsにEvercookieを実装する方法は?

分類Dev

sails.js / waterlineで取引を行う方法は?

分類Dev

新しい環境設定sails.jsを作成します

Related 関連記事

  1. 1

    waterlock fb auth - registering with authcode

  2. 2

    Waterlock、Sails、AngularJWTトークンはブラウザから403を提供します

  3. 3

    Sails.js:sails-generate-authを使用してユーザー登録後にアクセストークンを返す方法は?

  4. 4

    Sails.Js-sails.Jsでページ付けを行う方法

  5. 5

    Sails.jsのsails-mongoでの「ORMフックを破棄できませんでした」エラー

  6. 6

    Sails JS + Angular JS:ルーティング

  7. 7

    Sails.jsでJestを使用してエラーを解析する

  8. 8

    Sails.JSサーバーを起動できません

  9. 9

    Sails.js /Node.jsでPhusionPassengerを使用してフォームをPOSTすることはできません

  10. 10

    AngularJS + sails.js

  11. 11

    How to register a Handlebars partial outside partials folder on Sails.js?

  12. 12

    sails.js多対多のクエリ

  13. 13

    Sails.jsはIndex(root)コントローラーを作成します

  14. 14

    sails.jsのバックボーン

  15. 15

    Sails.jsデータが未定義

  16. 16

    Sails js ::カスタム検証エラーを追加する方法

  17. 17

    node.js-requireエラーはメモリリークを引き起こしますか?

  18. 18

    node.js-requireエラーはメモリリークを引き起こしますか?

  19. 19

    角度とjqueryを持つrequire.jsはスクリプトエラーを引き起こします

  20. 20

    Sails.jsがエラーを処理しないようにする

  21. 21

    ユニークはNode.jsでは機能しませんSails.js「sails-mysql」

  22. 22

    Next.jsリンクの先読みは本番環境で404エラーを引き起こします

  23. 23

    RabbitMQとSails.js

  24. 24

    Sails JS Model Rest API

  25. 25

    Sails js Error in file Upload

  26. 26

    sails.jsnode.jsコントローラーでJSONを解析します

  27. 27

    sails.js / node.jsにEvercookieを実装する方法は?

  28. 28

    sails.js / waterlineで取引を行う方法は?

  29. 29

    新しい環境設定sails.jsを作成します

ホットタグ

アーカイブ