如何在composer rest服务器中使用passport-local进行身份验证

Hir*_*e N 12 hyperledger-composer

我想用护照本地验证用户登录到像其他护照策略(如作曲家休息服务器passport-github,passport-google).

所以首先我尝试设置这样的COMPOSER_PROVIDER变量

"local": {
    "provider": "local",
    "module": "passport-local",
    "usernameField": "username",
    "passwordField": "password",
    "authPath": "/auth/local",
    "successRedirect": "/",
    "failureRedirect": "/"}
Run Code Online (Sandbox Code Playgroud)

然后我在docker中运行服务器(使用mongo作为持久化数据源)并在数据库集合中添加一些用户

问题是我需要使用此护照的下一步是什么.因为我运行此命令仍然得到响应 401 Unauthorized

curl -H"Content-Type:application/json"-X POST -d'{"username":"{USER_NAME}","password":"{USER_PASSWORD}"}' http:// localhost:3000/auth /本地

使用这本护照还不够吗?我是否需要启动另一项服务来本地验证此登录(例如GitHub oAuth应用程序)?

小智 -1

我最初也想这样做,但最后我只是编辑 Composer Rest 服务器上的 server.js 文件以进行基本身份验证。

  1. 检查你的composer-rest-server的存储位置

npm 根-g

  1. 打开server.js所在的位置
cd /home/ubuntu/.nvm/versions/node/v8.10.0/lib/node_modules/composer-rest-server/server
Run Code Online (Sandbox Code Playgroud)
  1. 将其添加到代码中
const basicauth = require('basicauth-middleware');
app.use(basicauth('username', 'password!');
Run Code Online (Sandbox Code Playgroud)