【问题标题】:Implementing Local Passport Strategy for Hyperledger-Composer-Rest Server: "Cannot GET /auth/local","status":404为 Hyperledger-Composer-Rest 服务器实施本地 Passport 策略:“Cannot GET /auth/local”,“status”:404
【发布时间】:2018-08-03 11:20:02
【问题描述】:

我正在尝试为 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 请求被阻止(如预期的那样),因为我没有经过身份验证。

到目前为止一切顺利。

但是当我试图去地址localhost:3000/auth/local(为了认证)时,这是不可能的……网络浏览器给了我一个错误信息,开头如下:

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

这里出了什么问题?

任何帮助将不胜感激。

【问题讨论】:

    标签: authentication hyperledger-composer passport-local


    【解决方案1】:

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

    official docs 中所述,您需要将数据持久保存在 MongoDB 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-10
      • 2023-03-29
      • 1970-01-01
      • 2021-02-02
      相关资源
      最近更新 更多