流星检索Twitter凭据返回未定义



我正在尝试使用Twitter包检索用户的凭据。客户机可以很好地接收到临时令牌,但是当我使用它来检索真正的凭据时,却没有定义。我的代码很简单。

// Client
Twitter.requestCredential(function (tokenOrError) {
    Meteor.call('register', tokenOrError)
}
// Server
Meteor.methods({
    register: function(token) {
       var result = Twitter.retrieveCredential(token);
       console.log(result); // undefined
    }
})

当我查看mongo数据库时,挂起的凭据已经正确地存储在meteor_oauth_pendingCredentials中,并且返回给客户机的密钥是正确的。当我在数据库中执行相同的查询时,它返回的结果很好,但从服务器调用retrieveCredential却没有。

任何想法吗?

指向OAuth代码的链接:https://github.com/meteor/meteor/blob/832e6fe44f3635cae060415d6150c0105f2bf0f6/packages/oauth/pending_credentials.jshttps://github.com/meteor/meteor/blob/832e6fe44f3635cae060415d6150c0105f2bf0f6/packages/oauth/oauth_server.jshttps://github.com/meteor/meteor/blob/devel/packages/twitter/twitter_server.js


我的问题类似于其他人已经问过(流星检索Twitter凭据),但张贴的解决方案不适合我。

结果是API发生了变化,需要您在客户端检索凭据秘密,并将凭据秘密和令牌发送到服务器。

// Client
Twitter.requestCredential(function (tokenOrError) {
    var secret = Package.oauth.OAuth._retrieveCredentialSecret(tokenOrError)
    Meteor.call('register', tokenOrError, secret)
}
// Server
Meteor.methods({
    register: function(token, secret) {
       var result = Twitter.retrieveCredential(token, secret);
       console.log(result);
    }
})

当我做Facebook时,我如何在Meteor中获得凭据秘密。客户端上的requestCredential ?

最新更新