小编Omi*_*rai的帖子

Express Passport(node.js)错误处理

我已经看过错误处理应该如何通过这个堆栈交换在节点中工作,但我不确定护照在认证失败时正在做什么.我有以下LocalStrategy:

passport.use(new LocalStrategy({ usernameField: 'email', passwordField: 'password' },
  function(email, password, next) {

    User.find({email: UemOrUnm}, function(err, user){
      if (err) { console.log('Error > some err'); return next(err); }
      if (!user) { console.log('Error > no user'); return next('Incorrect login or password'); } 

      if (password != user.password) {
        return next(Incorrect login or password);
      }
      return next(null, user);
    });
  }
));
Run Code Online (Sandbox Code Playgroud)

在我看到'错误>一些错误的'控制台打印输出后,没有其他事情发生.我认为它应该继续在下一个带有错误参数的路径上,但它似乎没有这样做.这是怎么回事?

node.js express passport.js

65
推荐指数
2
解决办法
6万
查看次数

Node.js/express - 使用带有redis的护照,使会话未经授权

我正在尝试使用redis with express来创建用户登录和会话.我使用这个curl脚本测试路由:

curl -d 'email=testEmail&password=testPass' http://localhost:3000/users/session
Run Code Online (Sandbox Code Playgroud)

当我这样做,护照通过序列化工作正常,然后它返回http 302.我没有弄清楚序列化后它做了什么,但当我在浏览器中使用我的登录html表单而不是curl尝试它时,它显示我"未经授权"401,我没有看到任何控制台日志.这是我的app.js:

var express = require('express')
    , fs = require('fs')
    , cons = require('consolidate')
    , http = require('http')
    , flash = require('connect-flash')
    , passport = require('passport')
    , RedisStore = require( "connect-redis" )(express) //for sessions (instead of MemoryStore)
    , redis = require('redis')
    , env = process.env.NODE_ENV || 'development'
    , config = require('./config/config')[env]
    , db = redis.createClient(config.db.port, config.db.host);

db.select(config.db.users)
db.auth(config.db.auth);

var app = express();

//require passport strategies (see code block below)
require('./config/passport')(passport, config, app)

app.use('/assets', …
Run Code Online (Sandbox Code Playgroud)

redis node.js express passport.js

5
推荐指数
1
解决办法
9687
查看次数

Lua gmatch奇数字符(斯洛伐克字母)

我试图从斯洛伐克语中的一个单词串中提取字符.例如,"TURTLE"一词是"KORYTNAČKA".但是,当我尝试从字符串中提取它时,它会跳过"Č"字符:

local str = "KORYTNA?KA"
for c in str:gmatch("%a") do print(c) end
--result: K,O,R,Y,T,N,A,K,A
Run Code Online (Sandbox Code Playgroud)

我正在阅读这个页面,我也尝试将字符串本身作为一个集合粘贴,但它提出了一些奇怪的东西:

local str = "KORYTNA?KA"
for c in str:gmatch("["..str.."]") do print(c) end
--result: K,O,R,Y,T,N,A,Ä,Œ,K,A
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

string unicode lua coronasdk lua-patterns

5
推荐指数
1
解决办法
801
查看次数

在 Heroku 上运行 node.js 的 Ghost 模块作为子目录

我正在尝试将 Ghost 安装到我的节点应用程序。我按照配置说明运行,但是当我导航到 blog 子目录时,它只显示我网站的主页。我将快速应用程序实例传递给它以启动服务器。我究竟做错了什么?

var ghost = require('ghost');
ghost().then(function (ghostServer) {
    app.use(ghostServer.config.paths.subdir, ghostServer.rootApp);
    ghostServer.start(app);
    
});
Run Code Online (Sandbox Code Playgroud)

我在网上阅读了有关使用 ngynx 或 apache 运行 Ghost 并将其配置为执行某种代理操作的信息,但我真的不明白这是怎么回事。

express ghost-blog

5
推荐指数
1
解决办法
484
查看次数

Redis pub/sub vs节点事件发射器

我不确定我是否理解使用redis pub/sub和使用node/express'事件发射器之间的区别.pub/sub是否以任何方式与我的数据库交互?在什么情况下我会使用一个而不是另一个?

events publish-subscribe redis node.js

1
推荐指数
1
解决办法
1488
查看次数