我尝试在Slack中使用Oauth 2.0。
到目前为止我所做的是;
我从这里创建了一个应用程序; https://api.slack.com/apps
我从应用凭据中获得了client id
和client 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");
为什么我找不到用户?它给了我一个错误?
答案 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。