-
Notifications
You must be signed in to change notification settings - Fork 2
/
accounts-profile-fields-client.js
45 lines (39 loc) · 1.1 KB
/
accounts-profile-fields-client.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//
// meteor-auth_profile_fields-client.js
//
// Provides function loginWithProfileFields() which is designed to log in
// user by using specified users profile field(s).
//
// Dariusz Pawlak <d.pawlak@wurth.pl>
//
// Attempt to log in with a password and one of allowed field(s) from profile fields
// defined in settings.json on server, example:
//
// {
// "login_with_profile_fields": ["phone","registration_plate"]
// }
//
//
// @param password {String}
var hashPassword = function(password) {
return {
digest: SHA256(password),
algorithm: "sha-256"
};
};
// @param loginName {String}
// @param password {String}
// @param callback {Function(error|undefined)}
Meteor.loginWithProfileField = function(loginName, password, callback){
var options = {
profileFields: true,
profileLoginName: loginName,
profileLoginPassword: hashPassword(password) // this options field can't be named: "password",
// because of incompatibility with accounts-password
};
Accounts.callLoginMethod({
methodName: 'login',
methodArguments: [options],
userCallback: callback
});
};