如何向咖啡HTTP侦听器(hubot)添加身份验证

时间:2019-06-13 06:57:55

标签: coffeescript hubot

我想为Hubot的脚本添加一个简单的用户密码验证。这应该像一个“桥梁”,将消息发送到火箭聊天。我设法在没有身份验证的情况下发出了HTTP发布请求。

到目前为止,我获得的脚本效果很好,但是没有身份验证:

module.exports = (robot) ->
  robot.router.post '/hubot/say', (req, res) ->

    recipient = req.body.recipient
    message = req.body.message
    dm = req.body.directmessage
    response = "OK"
    robot.logger.info "DM: #{dm}; Recipient: #{recipient}; Message: #{message}"

    if dm == '0'
      #robot.logger.info "Message '#{message}' received for room #{recipient}"

      room = recipient
      user = robot.brain.userForId 'broadcast'
      user.room = room
      user.type = 'groupchat'

      if message
        robot.adapter.send({room, user: {} }, message)

    if dm == '1'
      user = recipient

      if message
        robot.adapter.sendDirect({ user: { name: "#{user}"} }, message)

    res.writeHead 200, {'Content-Type': 'text/plain'}
    res.end response

1 个答案:

答案 0 :(得分:0)

Hubot具有内置的快速Web框架,robot.router实际上是express router。因此,您可以使用basic-auth库或引用类似Basic HTTP authentication with Node and Express 4的问题。