Accounts.createUser

时间:2016-07-04 14:41:33

标签: meteor meteor-accounts

当我尝试创建用户帐户时,我收到错误“SignUps Forbidden”。有什么想法吗?

我的包裹:

useraccounts:物化 兑现:兑现 账户密码 帐户,Facebook的 服务配置 帐户,谷歌 帐户,叽叽喳喳 kadira:闪耀布局 msavin:蒙古 kadira:流路由器 kevohagan:sweetalert

客户代码:

Template.register.events({
    'click #register-button': function(e, t) {
        e.preventDefault();
        // Retrieve the input field values
        var email = $('#email').val(),
            firstName = $('#first-name').val(),
            lastName = $('#last-name').val(),
            password = $('#password').val(),
            passwordAgain = $('#password-again').val();


        // Trim Helper
        var trimInput = function(val) {
            return val.replace(/^\s*|\s*$/g, "");
        }
        var email = trimInput(email);

        // If validation passes, supply the appropriate fields to the
        // Meteor.loginWithPassword() function.
            Accounts.createUser({
                email: email,
                firstName: firstName,
                lastName: lastName,
                password: password
            }, function(error) {
                if (error) {
                    return swal({
                    title: error.reason,
                    text: "Please try again",
                    showConfirmButton: true,
                    type: "error"
                });
                } else {
                    FlowRouter.go('/');
                }
            });

        return false;
    }
});

服务器代码

 Accounts.onCreateUser(function(options, user) {
    user.profile = options.profile || {};

    user.profile.firstName = options.firstName;
    user.profile.lastName = options.lastName;

    user.profile.organization = ["Org"];
    user.roles = ["User"];

    return user;
});

更新:

这是repo的link

问题似乎在...... meteor \ local \ build \ programs \ server \ packages。如果我将值切换为false,则它无用,因为它会在每次构建时重置。

// Client side account creation is disabled by default:
// the methos ATCreateUserServer is used instead!
// to actually disable client side account creation use:
//
//    AccountsTemplates.config({
//        forbidClientAccountCreation: true
//    });

Accounts.config({
  forbidClientAccountCreation: true
});

2 个答案:

答案 0 :(得分:3)

我必须删除useraccounts:materialize才能解决这个问题

答案 1 :(得分:2)

我认为当前接受的答案不是正确的答案。

如果您想保留软件包而不覆盖设置,则可以在代码中更改Accounts._options.forbidClientAccountCreation的值。

如果要阻止创建帐户,请将其设置为true,否则,请设置为false