gpt4 book ai didi

javascript - 使用everyauth的注意事项

转载 作者:行者123 更新时间:2023-12-03 17:45:12 24 4
gpt4 key购买 nike

我在使用 everyauth 时遇到了严重的问题。我只需要登录 Facebook。为此,我正在尝试使用 everyauth 的示例。一旦我进行了 facebook 身份验证,如果用户是否登录/获取他的 facebook 信息,我如何检查每个页面。我所做的是

var exp = require('express');
var app = exp.createServer();

var conf = require('/Users/lakeshkansakar/clicker/node_modules/everyauth/example/conf')
var everyauth = require('everyauth');

everyauth.debug = true;

var usersById = {};
var nextUserId = 0;

function addUser (source, sourceUser) {
var user;
user = usersById[++nextUserId] = {id: nextUserId};
user[source] = sourceUser;
return user;
}

var usersByFbId = {};
var usersByTwitId = {};

everyauth.everymodule
.findUserById( function (id, callback) {
callback(null, usersById[id]);
});

everyauth
.facebook
.appId(conf.fb.appId)
.appSecret(conf.fb.appSecret)
.findOrCreateUser( function (session, accessToken, accessTokenExtra, fbUserMetadata) {
return usersByFbId[fbUserMetadata.id] || (usersByFbId[fbUserMetadata.id] = addUser('facebook', fbUserMetadata));;
})
.redirectPath('/');

everyauth
.twitter
.consumerKey(conf.twit.consumerKey)
.consumerSecret(conf.twit.consumerSecret)
.findOrCreateUser( function (sess, accessToken, accessSecret, twitUser) {
return usersByTwitId[twitUser.id] || (usersByTwitId[twitUser.id] = addUser('twitter', twitUser));;
})
.redirectPath('/');

在每个 get 请求中,我都会尝试检查 everyauth.loggedIn 是否为真。但是,everyauth.loggedIn 显示为未定义。为什么会这样?如何检查用户是否使用facebook登录?

最佳答案

不确定这是否有帮助,但我研究了 EveryAuth 和 Passport,并且能够非常快速地为 Facebook 和 Google 实现 Passport。它看起来像是一个更简洁的身份验证实现。

http://passportjs.org/

关于javascript - 使用everyauth的注意事项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14097510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com