1

我按照这里的分步指南进行操作。

我制作了一个简单的应用程序,它根据正则表达式向安装了集成的房间发布消息(如上面的教程中所述)。

当我最初将集成添加到 hipchat 房间时,它工作正常。但是,一段时间后它会停止工作。

我的 Heroku 日志中出现以下错误:

JWT verification error: 400 Request can't be verified without an OAuth secret

我认为我的配置有问题或者我没有使用 OAuth,但是在谷歌搜索之后我找不到任何关于它应该是什么样子的具体答案。

我的 config.json 看起来像这样:

    "production": {
    "usePublicKey": true,
    "port": "$PORT",
    "store": {
        "adapter": "jugglingdb",
        "type": "sqlite3",
        "database": "store.db"
    },
    "whitelist": [
        "*.hipchat.com"
    ]
},

我的请求处理程序如下所示:

app.post('/foo',
    addon.authenticate(),
    function (req, res) {
      hipchat.sendMessage(req.clientInfo, req.identity.roomId, 'bar')
        .then(function (data) {
          res.sendStatus(200);
        });
    }
);

关于 Hipchat 和 Heroku 的 Oauth 配置和使用的任何具体方向都会令人惊叹!

4

2 回答 2

0

我个人没有在 Heroku 中使用过 jugglingdb 适配器,也不知道您是否可以真正查看数据库,但似乎沿途的某个地方clientInfo从商店中消失了。

我的建议是使用 ngrok 和 redis 在本地开始测试,以便您可以在本地进行故障排除,然后将工作代码推送到 Heroku。

于 2017-03-01T09:53:49.517 回答
0

为了解决我的问题,我需要做三件事:

  1. 为我的 Heroku 应用安装Heroku Redis 插件。(确认 ($REDIS_URL) 的环境变量已添加到您的应用程序设置中)。
  2. 将此行添加到我的 app.js 文件中:

    ac.store.register('redis', require('atlassian-connect-express-redis'));

  3. 将 config.json 中的 production.store 对象更改为以下内容:

    “商店”:{“适配器”:“redis”,“url”:“$REDIS_URL”},

于 2017-03-02T20:21:32.580 回答