0

我正在尝试使用 React 和 accounts-base、accounts-password 包实现自定义登录。

登记

handleRegistrationSubmit(event){
        event.preventDefault();
        var email = React.findDOMNode(this.refs.emailInputReg).value.trim();
        var password = React.findDOMNode(this.refs.passwordInputReg).value.trim();
        Accounts.createUser({
            email: email,
            password: password
        })
    },

登录

 handleLoginSubmit(event){
        event.preventDefault();
        var email = React.findDOMNode(this.refs.emailInputLogin).value.trim();
        var password = React.findDOMNode(this.refs.passwordInputLogin).value.trim();
        Meteor.loginWithPassword(email, password, function(err){
            if (err){
                console.log(err)
            }
        });
    },

登出

handleLogout(event){
        event.preventDefault();
        Meteor.logout(function(err){
            if(err){
                console.log(err)
            }
        });
    },

注册效果很好,并创建并登录了一个新用户。如果我转到控制台并键入

Meteor.users.find().fetch()

它返回刚刚使用 _id 和电子邮件字段创建的用户。

当我注销时,电子邮件字段消失,用户只有 _id 字段。

如果我尝试登录它说

User not found [403]

我不明白为什么只删除了电子邮件字段但用户对象仍然存在。注册和注销中均未显示错误。我不知道为什么会这样。

谢谢你的帮助

4

1 回答 1

0

好的..解决了。似乎如果注销后电子邮件格式错误,则将其删除。我不知道为什么,但是如果我尝试使用“test@test.com”它可以工作,但是使用“test”会创建用户并且在注销后删除电子邮件字段

于 2015-10-29T17:23:03.147 回答