hubot-auth 未进行身份验证
hubot-auth not authenticating
我刚刚安装了 hubot,我正在尝试一些基本测试。
我在 /scripts 中有这个基本脚本:
module.exports = (robot) ->
robot.respond /myscript status/i, (msg) ->
if robot.auth.hasRole(msg.envelope.user, 'test')
msg.reply "Success"
else
msg.reply "Sorry. Need 'test' role."
我发出适当的 Slack 命令:
schroeder has test role
"OK, schroeder has the 'test' role."
myscript status
"Sorry. Need 'test' role."
我有:
- 试图颠倒逻辑(
if
vs unless
)
- 已验证脚本正在更新(通过更改响应)
- 已验证 redis 后端正在存储角色(通过
redis-cli
连接并检查了密钥)。
在重新阅读所有文档并查找错误报告后,我仍然看不出我遗漏了什么。它必须是简单的东西,但我没有想法。几乎好像脚本无法查看存储的角色(hubot-auth 可以,但我的脚本不能)。
尽管在启动时,hubot 说它正在连接到本地 Redis 服务器:
INFO hubot-redis-brain: Using default redis on localhost:6379
它不是...至少不是您所期望的方式。
如果 redis 实际上是 运行,您应该会收到一条额外的消息:
INFO hubot-redis-brain: Data for hubot brain retrieved from Redis
该消息没有出现,并且 没有警告或错误表明 Redis 不是 运行。
如果你没有正确设置 hubot-redis-brain,你会得到奇怪的错误和不一致,比如 hubot-auth
角色检查功能失败。
此外,我发现即使我正确设置了Redis,我的测试脚本也没有运行。尽管我找到的所有教程都测试了 msg.envelope.user
,但这对我不起作用。我需要使用 msg.message.user.name
并用大脑解决 class:
module.exports = (robot) ->
robot.respond /fbctf status/i, (msg) ->
user = robot.brain.userForName(msg.message.user.name)
if robot.auth.hasRole(user, 'test')
msg.reply "Success"
else
msg.reply "Sorry. Need 'test' role."
我刚刚安装了 hubot,我正在尝试一些基本测试。
我在 /scripts 中有这个基本脚本:
module.exports = (robot) ->
robot.respond /myscript status/i, (msg) ->
if robot.auth.hasRole(msg.envelope.user, 'test')
msg.reply "Success"
else
msg.reply "Sorry. Need 'test' role."
我发出适当的 Slack 命令:
schroeder has test role
"OK, schroeder has the 'test' role."
myscript status
"Sorry. Need 'test' role."
我有:
- 试图颠倒逻辑(
if
vsunless
) - 已验证脚本正在更新(通过更改响应)
- 已验证 redis 后端正在存储角色(通过
redis-cli
连接并检查了密钥)。
在重新阅读所有文档并查找错误报告后,我仍然看不出我遗漏了什么。它必须是简单的东西,但我没有想法。几乎好像脚本无法查看存储的角色(hubot-auth 可以,但我的脚本不能)。
尽管在启动时,hubot 说它正在连接到本地 Redis 服务器:
INFO hubot-redis-brain: Using default redis on localhost:6379
它不是...至少不是您所期望的方式。
如果 redis 实际上是 运行,您应该会收到一条额外的消息:
INFO hubot-redis-brain: Data for hubot brain retrieved from Redis
该消息没有出现,并且 没有警告或错误表明 Redis 不是 运行。
如果你没有正确设置 hubot-redis-brain,你会得到奇怪的错误和不一致,比如 hubot-auth
角色检查功能失败。
此外,我发现即使我正确设置了Redis,我的测试脚本也没有运行。尽管我找到的所有教程都测试了 msg.envelope.user
,但这对我不起作用。我需要使用 msg.message.user.name
并用大脑解决 class:
module.exports = (robot) ->
robot.respond /fbctf status/i, (msg) ->
user = robot.brain.userForName(msg.message.user.name)
if robot.auth.hasRole(user, 'test')
msg.reply "Success"
else
msg.reply "Sorry. Need 'test' role."