2

サインアップ プロセス後に、ユーザーが自分のアカウントに自動的にログインするようにしようとしています。alanning:roles パッケージを使用しているため、ロールを適用するには、サーバー上にユーザーを作成する必要があります。

Meteor メソッドには、次のアカウント コードがあります。

createClient: function (user) {
    if (Meteor.isServer) {
        check(user, {
            firstName: String,
            lastName: String,
            email: String,
            phone: String
        });
        var newUser = Accounts.createUser({
            email: user.email,
            password: user.password,
            profile: {
                firstName: user.firstName,
                lastName: user.lastName,
                phone: user.phone,
                created: new Date()
            }
        });
        Roles.addUsersToRoles(newUser, ['client']);
        return Meteor.users.findOne(newUser);
    }
}

次に、コールバック内でユーザーをログインします。

Meteor.loginWithPassword(newUser._id, newUser.profile.tempPassword, function (error) {
    Router.go('thenextpage');
});

これを行うと、次のページに移動しますが、ユーザーはログインしません。ブラウザ コンソールに次のようなエラーが表示されることがあります。error logging in with token: Error: You've been logged out by the server. Please log in again. [403]

これを機能させる方法についてのアイデアはありますか?

4

1 に答える 1