我正在尝试为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:
当我进入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
这里出了什么问题?
任何帮助将不胜感激。
答案 0 :(得分:0)
我认为您的问题是您没有保留数据。在envvars.txt
中,您需要指定保存数据的位置,因为目前没有数据库可以存储用户和密码。
例如,在official docs中解释过,您需要将数据保留在MongoDB中。