Tag: 护照

在服务器端使用Passport-jwt呈现Express / React应用程序

我有一个使用react-router的通用NodeJS,Express,React / Redux应用程序。 它从服务器端在应用程序的初始请求和客户端上对来自react-router的后续请求进行渲染。 我的routes.js文件: <Route path="/" component={App}> <Route path="/main" component={Main}/> <Route path="/login" component={Login}/> </Route> 我有一个通配符高速路由匹配这个反应路线,并发送组件标记回模板: import routes from '../routes'; app.get('*', (req, res) => { match( { routes, location: req.url }, (err, redirectLocation, renderProps) => { let markup; if (renderProps) { markup = renderToString( <Provider store={store}> <RouterContext {…renderProps}/> </Provider> ); } else { markup = […]

使用jQuery进行Passport.JS身份validation不会存储Cookie

我有一个前端,这是一个电子应用程序和后端编写的节点。 当我点击loginbutton我的应用程序发送Ajax POST请求到我的后端,返回authentication成功。 当我试图得到如果用户使用req.isAuthenticated()validation我得到false 。 这可能是因为我的前端域( file://some/path/…/… )不同于后端域( https://somewhere.on.georgenet.gq )(这些仅仅是示例)

为什么我的POST请求保持无限加载?

我试图build立一个node.js应用程序,当我试图做一个寄存器或login方法的发布请求,似乎继续加载,而不是做任何事情。 我的网页浏览器中出现以下错误 – “本地主机没有发送任何数据”。 这是我有我的代码设置的方式: var express = require("express"), app = express(), bodyParser = require("body-parser"), mongoose = require("mongoose"), passport = require("passport"), flash = require("connect-flash"), LocalStrategy = require("passport-local"), methodOverride = require("method-override"), User = require("./models/user"); mongoose.connect("mongod://localhost/supportApp_v1"); app.use(bodyParser.urlencoded({extended:true})); app.set("view engine", "ejs"); app.use(express.static(__dirname + "/public")); app.use(methodOverride("_method")); app.use(flash()); app.use(require("express-session")({ secret: "luck", resave: false, saveUninitialized: false })); app.use(passport.initialize()); app.use(passport.session()); passport.use(new LocalStrategy(User.authenticate())); […]

未处理的拒绝TypeError:dbUser.validPassword不是函数Sequelize Node React Passport

我正在尝试在我的web应用程序上使用Passport身份validation。 我使用Sequelize ORM,Reactjs前端和expression式和节点后端。 现在,当我注册一个用户一切正常。 当我尝试login时出现问题。 我看到用户查询数据库find用户正确的电子邮件,但是当是时候比较密码,我抓到一个错误。 “未处理的拒绝types错误:dbUser.validPassword不是函数” 这里是我的config / passport.js文件: var passport = require("passport"); var LocalStrategy = require("passport-local").Strategy; var db = require("../models"); // Telling passport we want to use a Local Strategy. In other words, we want login with a username/email and password passport.use(new LocalStrategy( // Our user will sign in using an email, rather […]

通过护照登记。authentication

我正在开发一个网站,前面有nodejs / express / sequelize / mysql和angularJs 我的树结构在这里: 其实我从“RegisteredController.js”发布数据: 'use strict'; angular.module('appFoodtastic.registered', ['ngRoute']) // Routing configuration for this module .config(['$routeProvider', function ($routeprovider) { $routeprovider.when('/registered', { controller: 'RegisteredController', templateUrl: 'components/views/registeredView.html' }); }]) // Controller definition for this module .controller('RegisteredController', ['$scope','$http', function ($scope, $http) { init(); function init(){ }; $scope.submit = function () { console.log($scope.user); $http.post('/registered', $scope.user) […]

如何使用passport-jwtvalidation路由?

我正在使用passport-jwt ,我的策略设置如下: let jwtOptions = {} jwtOptions.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken() jwtOptions.secretOrKey = process.env.SECRET var strategy = new JwtStrategy(jwtOptions, function (jwt_payload, next) { console.log('payload received', jwt_payload); // usually this would be a database call: var user = users[_.findIndex(users, { id: jwt_payload.id })]; if (user) { next(null, user); } else { next(null, false); } }) passport.use(strategy) 所以,当我POST到/login路线,我能够生成一个令牌: var […]

护照jwtvalidationcallback没有被调用

我使用passport-jwt包进行简单身份validation,令牌由jsonwebtoken生成。 但问题是validationcallback从不被调用。 这里是我的passport.js代码。 var JwtStrategy = require('passport-jwt').Strategy; var User = require('../app/models/user'); var config = require('../config/database'); var opts = {}; opts.jwtFromRequest = function(req) { var token = null; if (req && req.headers) { token = req.headers.authorization; } return token; }; opts.secretOrKey = config.secret; console.log(opts); module.exports = function(passport) { passport.use(new JwtStrategy(opts, function(jwt_payload, done) { User.findOne({_id: jwt_payload._doc._id}, function(err, […]

MEAN堆栈如何处理login和redirect

我有一个简单的MEAN堆栈应用程序,只是尝试了解身份validation,并使其工作。 你可以在github上签出完整的程序: https : //github.com/7seven7lst/chatterApp 在Angular(app.js)中,我有以下的个人资料路由被限制: angular.module('chat', ['ui.router', 'chat.main', 'chat.signin', 'chat.profile']) .config(function($stateProvider, $urlRouterProvider, $httpProvider) { $urlRouterProvider.otherwise('/'); $stateProvider .state('home', { url: '/', templateUrl: 'views/main.html', controller: 'MainCtrl' }) .state('signin', { url: '/signin', templateUrl: 'views/signin.html', controller: 'SigninCtrl' }) .state('profile', { url: '/profile', templateUrl: 'views/profile.html', controller: 'ProfileCtrl' }); // the following will give angular injection error /* $httpProvider.interceptors.push(function($q, $state) […]

会话不会保存在会话variables中。 导航后,req.user不存在

背景: 我有一个运行在端口4200上的angular度cli,以及运行在3000上的服务器端api node.js。 我发现会话护照值不会保存后,与本地护照login。 所以当我尝试导航到另一个页面login后,其不持有护照,会话中的variables,因为它应该是,需要调用req.user 出于某种原因,服务器不调用反序列化用户。 请求login后redirect到页面/testing。 更新: login我使用端口4200发送一个请求,使用以下代码:(angular2 / 4) performLogin(name: string, password: string): Observable<Comment[]> { var params = new URLSearchParams(); params.append('username', name); params.append('password', password); url = "SITE:3000/api/login"; return this.http.post(this.url,params, this.options) .map(result => result.json()) .do(result => this.result = result); } 更新2:插入信用请求客户端双面。 在每一个请求login – >然后调用testing页我总是得到: ReferenceError: User is not defined at /root/mafiagame/src/config/passport.js:32:9 at pass (/usr/lib/node_modules/passport/lib/authenticator.js:347:9) […]

如何解决:Nodejs passport.header问题,req.session.passport未定义

我目前在我的发展服务器有这个错误。 这发生在login尝试: 这是护照的具体问题。 请帮忙,这在生产服务器上工作得很好 我有我的app.js app.use(cookieParser('12345678')); app.use(session({ secret: '12345678', resave: false, saveUninitialized: true })); app.use(validator()); app.use(passport.initialize()); app.use(passport.session()); app.use(flash()); // flash – Initializing app.use(compression()); app.use('/app', express.static(path.join(__dirname, '/app'), { maxAge: 7 * 86400000 })); app.use('/uploads', express.static(path.join(__dirname, '/uploads'), { maxAge: 7 * 86400000 })); app.set('view engine', 'pug'); app.locals.pretty = false; app.set('views', './views'); app.use(function (req, res, next) { res.header("Access-Control-Allow-Origin", […]