It works with Meteor version >= 0.8.2
meteor-accounts-profile-fields
Smart package for Meteor framework.
Provides function for Meteor framework to log in using "username" stored in specified profile fields.
Could be used as a replacement for loginWithPassword()
function.
Requirements
accounts-profile-fields
needs to be installed with accounts-base
package.
So, at first you need to install it by:
meteor add accounts-base
Add Package
meteor add accounts-profile-fields
Example
In example below login name 'ABC123456' is checked against fields: ['profile.register_plate', 'profile.phone_number', 'username', 'emails.email'] from 'users' collection. At first are checked fields from 'profile'.
on server
Define in file settings.json
fields used to find user, for example:
1{ 2 "login_with_profile_fields": ["register_plate","phone"] 3}
on client
1var login = 'ABC123456'; 2var password = '123456'; 3 4Meteor.loginWithProfileField(login, password, function(err) { 5 if(Meteor.loggingIn()) { 6 console.log("logging in..."); 7 } else { 8 if(err) { 9 console.log("log.err= " + err); 10 } else { 11 console.log("loggged in!"); 12 } 13 } 14});
run app with settings.json
meteor --settings=settings.json