【发布时间】:2017-10-19 16:08:58
【问题描述】:
我正在使用passport 进行 facebook、google、github、twitter 身份验证。 facebook、google、github 的身份验证正在执行tutorial 中的编写方式。只有推特回复我消息:
500 Internal Server Error: OAuth authentication requires session support. Did you forget to use express-session middleware?
然后我添加了 express-session 中间件(如下所示),我的问题就解决了。
import * as expressSession from "express-session";
app.use(expressSession({
secret: strategyOptions.session.secret,
resave: false,
saveUninitialized: true
}));
所以我有 3 个问题:
- 为什么 twitter 身份验证需要会话支持?
- 我猜只有我的后端和前端知道会话。 Twitter 如何知道我的会话?
- 为什么 Google、Facebook、Github 不需要会话支持?
【问题讨论】:
-
3) Google、FB、GH 是不同的社区。他们对 API 有其他要求。
-
@BogdanSurai 我也遇到了同样的问题。你能告诉我 strategyOptions.session.secret 中包含什么
-
@C0dekid 我在下面为你写了一条评论。
标签: session authentication twitter passport.js express-session