2016-07-15 11 views
0

Ich habe zwei Meteor App mit Datenbank für Frontend und Backend. Aufgrund einiger Massenoperationen. Frontend-App ruft Backend-Server auf. funktioniert in vielen Methoden. In wenigen Methoden sollte ich die Authentifizierung überprüfen.Wie bekomme ich Meteor.user() Werte vom Backend Server?

Frontend

let remote = DDP.connect(<url>); 
remote.call('methodName',argument, function(err,res){ 

}); 

Backend

Meteor.methods({ 
    methodName: function(argument) { 
    Meteor.user() // null value 
    } 
}); 

Wie sicher suppose I userId als Parameter senden?

+0

Verwenden 'this.userId' finden Sie https: //docs.meteor.com/api/methods.html#DDPCommon-MethodInvocation-userId –

+0

@AdrianLiaw 'this.userId' ist' null'. weil es auf Backend-Server –

Antwort

1

Sie müssen sich auf die eine oder andere Weise anmelden. Sie können etwas tun:

var remote = DDP.connect(url); 
result = remote.call('login', { 
    user: user, 
    password: {digest: SHA256(password), algorithm: 'sha-256' } 
}); 

Quellen: https://forums.meteor.com/t/different-interfaces-based-on-devices/264

+0

wenn ja, kann ich andere Methoden verwenden, die im Frontend ist? –

+0

Sie müssen 2 ddp Verbindung verwenden. Meteor.call ist nur ein Wrap auf DDP-Klasse. So können Sie haben, wie viele ddp Verbindung Sie wollen. – perusopersonale

+0

habe es .. danke –

-1

Sie können Benutzerdaten auf Server-Seite erhalten:

var userData = Meteor.users.findOne(Meteor.userId());