Comments (5)
You could try the new 0.2.1 version that was just published (with undocumented features). This version adds a "createStrategy" static model method that can be used to create a configured LocalStrategy instance.
From 0.2.1 on you can use this code to configure passport
var Account = require('./models/account');
passport.use(Account.createStrategy());
passport.serializeUser(Account.serializeUser());
passport.deserializeUser(Account.deserializeUser());
Passing options to passport-local strategy is done in the createStrategy
static method.
from passport-local-mongoose.
+1
from passport-local-mongoose.
Hi,
passport-local-mongoose does only care about the model side of authorization. So when you configure passport-local-mongoose with a field "email" as usernameField then passport-local-mongoose takes care that this field is used when for example authorize() get's called by passport. The mapping part of the form input from req.body to the authorize() method is done by passport-local. And passport-local has no knowledge about the model mapping. So you have two choices to solve this issue:
- Configure passport-local's LocalStrategy to the same usernameField as configured in the passport-local-mongoose model
- Use the name "username" in your login form as input name
The current situation a bit to complicated and confusing. I'm thinking about a solution to integrate passport-local and passport-local-mongoose a bit better...
from passport-local-mongoose.
I took a look at the code and figured out. Thanks!
from passport-local-mongoose.
Fixed in 0.2.1
from passport-local-mongoose.
Related Issues (20)
- Unique email (with unique username) HOT 2
- Calling authenticate() against an existing instance is looking up a different user to check the password HOT 4
- why change user.id two times?
- Generic type 'Query<ResultType, DocType, THelpers>' requires between 2 and 3 type arguments. HOT 1
- Type issues with SerializeUser
- Include type definitions directly in the package HOT 2
- Login fails if the "username" field contains "+" character HOT 1
- The problem occurs when deploying two or more completely different apps (not two instances of the same app).
- Salt and hash field can be updated manually
- options.usernameQueryFields needs to be set to default empty array HOT 3
- Unauthorized plain text HOT 4
- usernameField settings outlined in the docs do not work HOT 4
- Usernamequeryfields not inspected on calling register function
- How to pass errors on register method to the front-end HOT 1
- Mongoose 7 does not support some callbacks like in 6.x version and it cause exceptions in passport-local-mongoose HOT 1
- TypeError: teacherSchema.plugin is not a function
- TypeError: user.get is not a function
- [MissingUsernameError] No username was given HOT 1
- TypeError: Cannot read properties of null (reading 'name')
- schema.path is not a function
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from passport-local-mongoose.