在Slack

时间:2016-07-12 08:52:47

标签: node.js oauth-2.0 integration slack-api slack

我尝试在Slack中使用Oauth 2.0。

到目前为止我所做的是; 我从这里创建了一个应用程序; https://api.slack.com/apps 我从应用凭据中获得了client idclient secret

然后,我将passport-slack安装为npm install passport-slack

正如https://github.com/mjpearson/passport-slack建议我使用mu客户端ID和客户端密码添加以下代码。

passport.use(new SlackStrategy({
    clientID: CLIENT_ID,
    clientSecret: CLIENT_SECRET
  },
  function(accessToken, refreshToken, profile, done) {
    User.findOrCreate({ SlackId: profile.id }, function (err, user) {
      return done(err, user);
    });
  }
));

但它会抛出错误;

[ReferenceError: SlackStrategy is not defined]

我需要passport-slack作为;

var passport = require("passport-slack");

为什么我找不到用户?它给了我一个错误?

1 个答案:

答案 0 :(得分:2)

第一件事:

  

var passport = require(“passport-slack”);

您应该像这样导入护照:

var passport = require("passport");

Passport是一种使用“策略”的身份验证中间件。 Passport-slack是这些策略之一。在这里,您只需要中间件。

第二件事:

  

[ReferenceError:未定义SlackStrategy]

您需要像这样导入SlackStrategy:

var SlackStrategy = require("passport-slack").Strategy;

这一次,你想要一个策略,这就是我们导入它的方式。

最后一件事:

  

为什么我找不到用户?它给了我一个错误?

我不确定你在这里的意思,但我猜你得到一个错误,告诉你'用户未定义'或类似的东西。要详细了解此User.findOne()功能,您可以查看this topic