我在调用登录方法时遇到了困难,如下所示
$ meteor list
Accounts-base 1.2.14 A user account system
Ecmascript 0.6.1 Compiler plugin that supports ES2015 + in all .js files
Meteor-base 1.0.4 Packages that every Meteor app needs
React 15.0.1 Everything you need to use React with Meteor.
Static-html 1.1.13 Defines static page content in .html files/server/main.js
import { Accounts } from 'meteor/accounts-base'
Accounts.registerLoginHandler('simples', (ttt) => {
console.log(ttt);
});/client/main.js
autenticar(){
Accounts.callLoginMethod({
methodName: 'simples',
methodArguments: [{ tipo : 'simples' }],
validateResult: function (result) {
console.log('result', result);
},
userCallback: function(error) {
if (error) {
console.log('error', error);
}
}
})
}在调用authenticar()时,我得到以下错误:
errorClass
Details: undefined
Error: 404
ErrorType: "Meteor.Error"
Message: "Method 'simples' not found [404]"
Reason: "Method 'simples' not found"错误在哪里?
发布于 2016-11-27 19:25:17
我从未亲自使用过这个API,但是从Meteor内部的快速浏览中,我看到了一些问题。
Accounts.registerLoginHandler只向内置处理程序数组添加额外的处理程序,这些处理程序作为默认Meteor登录过程的一部分被调用。
如果您试图将一个额外的处理程序插入到现有进程中,则应该调用不带Accounts.callLoginMethod键的methodName。
使用Accounts.callLoginMethod调用methodName将完全绕过内置处理程序,并使用自定义方法替换它们,但是该方法需要由您使用Meteor.methods而不是registerLoginHandler单独声明。
因此,这可能是您的错误--您需要使用simples定义Meteor.methods方法。此外,您应该检查代码以了解此方法的要求,请参见代码中的注释:
发布于 2016-11-28 12:42:22
只是为了补充和保持作为一个推荐人到这里来。这样它就能工作了
client.js
Accounts.callLoginMethod({
methodArguments: [{tipo: 'simples'}],
validateResult: (result) => {
console.log('success', result);
},
userCallback: function(error) {
if (error) {
console.log('error', error);
}
}
});server.js
Meteor.startup(function () {
var config = Accounts.loginServiceConfiguration.findOne({
service : 'simples'
});
if (!config) {
Accounts.loginServiceConfiguration.insert({ service: 'simples' });
}
});
Accounts.registerLoginHandler((opts) => {
if(opts.tipo === 'simples'){
return Accounts.updateOrCreateUserFromExternalService ('simples', {
id: 0 // need define something
}, {
options : 'optional'
})
}
});https://stackoverflow.com/questions/40830729
复制相似问题