Tag: 基本authentication

尝试发出POST请求注册新用户时出现404错误

我正在尝试设置用户注册的function。 registry单使用Redux表单,身份validation由passport.js处理,我使用mongoDB(mLab)作为我的用户数据库。 当我尝试注册新用户时,出现以下错误: POST http://localhost:3000/signup 404 (Not Found) Uncaught (in promise) Error: Request failed with status code 404 动作/ index.js: export const createUser = values => async dispatch => { const res = await axios.post('/signup', values); dispatch({ type: CREATE_USER, payload: res }); }; authRoutes.js: const passport = require('passport'); module.exports = app => { app.post( '/signup', […]

如何在使用feathersjs响应NodeJs之前发送令牌jwt来validation?

我正在使用令牌jwt做pipe理仪表板。 我想用户只有login才能获得对中间件的访问权限。 我想这样做,如果他login,服务器显示主页,如果没有,然后他redirect到login页面。 下面是我的中间件index.js const auth = require('feathers-authentication'); const pupils = require('./pupils'); const login = require('./login'); const home = require('./home'); module.exports = function () { // Add your custom middleware here. Remember, that // in Express the order matters const app = this; // eslint-disable-line no-unused-vars app.use('/pupils.html', pupils()); app.use('/login.html', login()); app.use('/', home()); app.post('/login', auth.express.authenticate('local', { […]

找不到模块“encryption”

我正在尝试执行二重奏 ,但当我尝试使用它,我得到这个错误: import Duo from 'duo_web'; 我安装了meteor npm install duo_web –save在Windows 10 , node v8.9.0 , npm v5.5.1 。 我知道duo_nodejs使用crypto模块,也安装了它。 的package.json "crypto": "^1.0.1", "duo_web": "^1.0.2",

我怎样才能发送和JSONweb令牌在浏览器中

我怎样才能发送和JSONweb令牌在浏览器中? 我需要在用户login后发送每个禁止的页面令牌。 我有代码,一切工作正常邮递员,但是当我尝试在浏览器req.headers["authorization"]始终未定义。 我也试图res.set({'token': 'some token'}); 然后请求在下一页但仍未定义。 有很多邮差的教程,但我可以弄清楚如何在浏览器中做到这一点。 这是我的代码: app.post("/api/login", function(req, res) { var user = { id: 3 }; var token = jwt.sign({ user }, 'secret'); res.json({token: token}); }); app.get('/api/protected', ensureToken, function(req, res) { jwt.verify(req.token, 'secret_key_goes_here', function(err, data) { if (err) { res.sendStatus(403); } else { res.json({ description: 'Protected information. Congrats!' }); } }); […]

通过nodejs中的电子邮件进行双向身份validation

你好,我正在与nodejs和expressjs进行双向authentication。 在我的网站,你将不得不先login。 如果login成功,用户将收到一封带有密钥和链接的电子邮件,他必须粘贴该密钥。 如果用户打开该链接并粘贴该密钥,我希望用户login。但是,当我在代码中调用passport.authenticate()函数时,用户没有login。 该方法成功redirect到用户页面,这意味着login成功,但仍然没有用户login。 router.post('/loginTwo/:token', function(req, res) { async.waterfall([ function(done) { User.findOne({ twoWayAuthentication: req.params.token, authenticationExpires: { $gt: Date.now() } }, function(err, user) { if (!user) { req.flash('error', 'password-token has expired'); return res.redirect('back'); } if (user.twoWayAuthenticationPassword == req.body.twoWayAuthenticationPassword) { user.twoWayAuthenticationPassword = undefined user.twoWayAuthentication = undefined; user.authenticationExpires = undefined; console.log(reqlogin.body); console.log(req.body); user.save(function(err) { passport.authenticate('local', { successRedirect: […]

通过Github进行身份validation(使用everyauth)

我正在使用everyauth ,并且无法通过github进行身份validation。 看来,我所遵循的所有步骤都是正确的,但是当单击“connect with github”链接时,它一直告诉我cannot GET /auth/github 。 这是我的代码的要点: https : //gist.github.com/2641260 任何帮助将不胜感激!

Rackspace授权Node.js

我正在使用节点云文件进行身份validation。 var cloudfiles = require('cloudfiles'); var config = { auth : { username: 'my-username', apiKey: 'my-api-key' } }; var client = cloudfiles.createClient(config); console.log(client); 这就是我所得到的 { config: { auth: { username: 'my-username', apiKey: 'my-api-key', host: 'auth.api.rackspacecloud.com' }, servicenet: false }, authorized: false } 用户名和apiKey是正确的,它在PHP中,但不是在node.js authorized: false – 哪里可以解决问题?

Facebook或Twitterauthentication与iPhone客户端和node.js服务器

我对这样一个普遍的问题表示歉意,但这是我第一次为iPhone应用程序构build服务器后端。 简单的用例是:当用户第一次启动iPhone应用程序时,他们会出现一个login屏幕,他们可以通过Facebook,Twitter或手动创build一个帐户。 一旦他们这样做,他们可以正常使用的应用程序。 下次他们启动应用程序时,应用程序不需要显示login屏幕。 在后端,我需要使用Node.js和MongoDB创build服务器。 我注意到有一些authentication模块,比如everyauth和passport.js。 但是我的困惑是如何处理这些身份validation和会话。 例如,用Facebook,我知道有一个Facebook iOS SDK可以用来authenticationiPhone客户端。 但是,应该在哪里进行身份validation:在iPhone上还是在服务器上? 这种常见的情况通常如何处理? 谢谢!

使用json文章的摘要authentication的curl命令

(使用node.js,express,passport-http) 我有一个POST路由做摘要身份validation,试图应用程序JSON的内容types。 我可以用摘要命中GET路由,没有问题,我可以使用基本身份validation来打开POST路由,但是当我尝试使用摘要身份validation执行POST时,会得到400 – 错误请求。 它看起来像curl把内容types放在初始摘要请求(内容长度为0,所以它知道足够的不发送初始digest-auth请求的JSON正文),我的一方(expression)失败无效的JSON(空体): $ curl -v –digest -X POST –data @body.json –user org2user2:lameduck -H "content-type: application/json" http://127.0.0.1:3002/user * About to connect() to 127.0.0.1 port 3002 (#0) * Trying 127.0.0.1… * connected * Connected to 127.0.0.1 (127.0.0.1) port 3002 (#0) * Server auth using Digest with user 'org2user2' > POST /user HTTP/1.1 > […]

如何访问passport.deserializeUser中的node-orm2 Express中间件

我使用Passport进行身份validation,并与node-orm2一起使用。 护照要求您注册函数以序列化和反序列化会话中的用户。 我的用户存储在我通过node-orm2的Express中间件访问的数据库中。 orm2中间件将其模型标记在req对象上以便于访问。 不幸的是,Passport不提供对deserializeUser中的req对象的访问。 我已经遇到了这个解决scheme ,但我希望有更好的东西: var User; passport.use({ passReqToCallback: true }, new LocalStrategy(function (request, username, password, done) { if (!User) { User = request.models.User; } User .find({ username: username }) .limit(1) .run(function (err, users) { var user = users[0]; if (err) { done(err); } else if (!hasher.verify(password, user.password)) { done(null, false); } else […]