Meteor方法的Restivus身份验证

时间:2016-10-08 14:05:21

标签: meteor restivus meteor-restivus

我试图让我的REST服务的meteor-app可用。为此,我使用包" Restivus"这也很好。但是,一旦我想运行流星方法this.userId未定义。

Api.addRoute('addArticle', {authRequired: true}, {
        post: function () {
            console.log(this.userId); //<-- hwuqtFXf8aKperJ5p
            try {
                Meteor.call("addArticle",this.bodyParams);
            } catch (e) {
                return {code:500,type:e.error,reason:e.reason};
            }
        }
    });

方法:

new ValidatedMethod({
    name: 'addArticle',
....
if (!this.userId) {
        throw new Meteor.Error(...); //is thrown
    }

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在Meteor方法中,您可以通过

获取当前的userId
    Meteor.userId() 

而不是

    this.userId

因此您需要将代码更新为

    if(!Meteor.userId()){ 
        throw new Meteor.Error(403, '403:Forbidden', 'You shall not pass!')
    }