为Hyperledger-Composer-Rest服务器实施本地护照策略:“无法获取/ auth / local”,“状态”:404

时间:2018-08-03 11:20:02

标签: authentication hyperledger-composer passport-local

我正在尝试为Hyperledger Composer Rest Server实施本地护照策略。

为此,我做了以下事情:

首先,我通过运行以下命令安装本地护照:

npm install -g passport-local

在主文件夹中,我创建了一个名为“ envvars.txt”的文件,其内容如下:

COMPOSER_PROVIDERS='{

    "local": { 
            "provider": "local", 
            "module": "passport-local", 
            "usernameField": "username", 
            "passwordField": "password", 
            "authPath": "/auth/local", 
            "callbackURL":"/auth/local/callback",
            "successRedirect": "/", 
            "failureRedirect": "/", 
            "setAccessToken": true, 
            "callbackHTTPMethod": "post" 
    }

}'

然后,为了设置环境变量COMPOSER_PROVIDERS,我运行了以下命令:

source envvars.txt

之后,我使用以下规范启动了composer-rest-server:

enter image description here

当我进入localhost:3000 / explorer时,HTTP请求被阻止了(如预期的那样),因为我没有通过身份验证。

到目前为止很好。

但是,当我尝试访问本地主机名:3000 / auth / local(以进行身份​​验证)时,这是不可能的……Web浏览器给了我一条错误消息,该错误消息的开头如下: / p>

{"error":{"statusCode":404,"name":"Error","message":"Cannot GET /auth/local","status":404,"stack":"Error: Cannot GET /auth/local\n    at raiseUrlNotFoundError

这里出了什么问题?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我认为您的问题是您没有保留数据。在envvars.txt中,您需要指定保存数据的位置,因为目前没有数据库可以存储用户和密码。

例如,在official docs中解释过,您需要将数据保留在MongoDB中。