I solved this issue. For some reason, even though I have insecure and autopublish on, I had to still create the user on the server.
On the client:
// Signup Form Submit
Template.signup.events({
'submit form': function(event) {
event.preventDefault();
var newUserData = {
username: $('[id="username"]').val(),
email: $('[id="email"]').val(),
password: $('[id="password"]').val()
};
Meteor.call('insertUser', newUserData);
Meteor.loginWithPassword(newUserData.email, newUserData.password);
}
});
On the server:
// Create a new user
Meteor.methods({
insertUser:function(newUserData){
return Accounts.createUser(newUserData);
}
});