2016-07-15 2 views
0

프론트 엔드와 백엔드에 데이터베이스를 사용하는 두 개의 유성 앱이 있습니다. 일부 대량 작업으로 인해. 프론트 엔드 앱이 백엔드 서버를 호출합니다. 많은 방법으로 잘 작동합니다. 몇 가지 방법으로 인증을 확인해야합니다.백엔드 서버에서 Meteor.user() 값을 얻는 방법?

프론트 엔드

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

}); 

백엔드 내가 매개 변수로 userId를 보내 얼마나 안전 가정하자

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

?

+0

사용'this.userId', 참조 HTTPS 당신이 뭔가를 할 수 있습니다 : //docs.meteor.com/api/methods.html#DDPCommon-MethodInvocation-userId –

+0

@AdrianLiaw'this.userId'는'null'입니다. 왜냐하면 그것의 백엔드 서버 –

답변

1

다른 방법으로 로그인해야합니다.

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

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

+0

에 있다면 프론트 엔드에있는 다른 방법을 사용할 수 있습니까? –

+0

2 ddp 연결을 사용해야합니다. Meteor.call은 DDP 클래스의 랩입니다. 그래서 얼마나 많은 ddp 연결을 원하는지 선택할 수 있습니다. – perusopersonale

+0

있어 .. 고마워. –

-1

당신은에 의해 서버 측에 사용자 데이터를 얻을 수 있습니다 :

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