我已添加accounts-password
和useraccounts:unstyled
我在footer.html中包含了登录模板 -
{{#if showSignIn}}
{{> atForm state="signIn"}}
{{/if}}
我在应用启动时对用户的创建进行了硬编码 -
import { Accounts } from 'meteor/accounts-base'
if (!Acounts.findUserByEmail('aidan@gmail.com')) {
Accounts.createUser({
username: 'Aidan',
email: 'aidan@gmail.com',
password: 'securePassword'
});
}
只是我无法确定如何实际登录我的用户。我已经尝试过只需在表单中输入密码和电子邮件地址。这不起作用(表单错误表示“禁止登录'”。
我已尝试添加以下行(与我的帐户创建代码相同的文件) -
accountsServer.validateLoginAttempt(()=>{return true;});
毫不奇怪,它没有做任何事情。
我已经尝试将提交事件添加到我的footer.js文件中 -
Template.footer.events({
'submit form'(event) {
console.log('submitted');
const email = document.getElementById('at-field-email').value;
const password = document.getElementById('at-field-password').value;
Meteor.loginWithPassword(email, password);
},
});
我可以看到该事件正在触发,但当我在控制台中尝试Meteor.user()
时,我仍然得到null
。
答案 0 :(得分:0)
if (!Acounts.findUserByEmail('aidan@gmail.com'))
中有错误(应该是Accounts
)。用户尚未创建。
使用单个硬编码用户获得超级简单的功能登录 -
添加accounts-password包和ui用户帐户包。
> meteor add accounts-password
> meteor add useraccouts:unstyled
accounts-password包处理实际登录。用户帐户:unstyled packages为帐户管理提供了一组模板。
然后将登录表单添加到模板中。
<template name="templateWithLogin">
{{> atForm state="signIn"}}
</template>
最后创建一个用户(例如在/server/main.js
)。
import { Accounts } from 'meteor/accounts-base';
if (!Accounts.findUserByEmail('user@gmail.com')) {
Accounts.createUser({
username: 'User',
email: 'user@gmail.com',
password: 'securePassword'
});
}
这应该是获取功能登录表单所需的所有。有大量在线教程可用于创建其他功能。主要文件是here。
答案 1 :(得分:-1)
您可以使用{{&gt; loginButtons}}获取功能的ui和{{#if currentUser}}。