我已经关注了此网站的教程:http://iliketomatoes.com/implement-passport-js-authentication-with-sails-js-0-10-2/
注册表单工作正常,一切都保存到我的数据库(MongoDB)但是当我想登录时,我遇到missing credentials
错误:
{
"message": "Missing credentials",
"user": false
}
这很奇怪,我克隆了https://github.com/iliketomatoes/passport_with_sails,sails lift
它,一切正常。我已将所有api源文件和配置复制到我的项目中。只有视图不同,但我确信我使用的是姓名为email
和password
的输入。我仍然有这个错误。
我使用MongoDB作为数据库,我已经切换到本地磁盘(如此回购中)并且仍然存在同样的问题。我已将package.json
文件中的npm模块版本更改为repo中的版本,但仍然是相同的错误。这很奇怪。
此外,我必须提及POST请求包含email
和password
字段。我仔细检查过它。
有人知道会导致这个问题的原因吗?
编辑:
我的login.ejs
视图如下所示:
<div class="row">
<div id="content" class="col-sm-12 full">
<div class="row">
<div class="login-box">
<div class="header">
Login to JSCS Dashboard
</div>
<form class="form-horizontal login" action="/login" method="POST">
<fieldset class="col-sm-12">
<div class="form-group">
<div class="controls row">
<div class="input-group col-sm-12">
<input type="email" class="form-control" name="email" placeholder="E-mail"/>
<span class="input-group-addon"><i class="fa fa-user"></i></span>
</div>
</div>
</div>
<div class="form-group">
<div class="controls row">
<div class="input-group col-sm-12">
<input type="password" class="form-control" name="password" placeholder="Password"/>
<span class="input-group-addon"><i class="fa fa-key"></i></span>
</div>
</div>
</div>
<div class="row">
<input type="submit" value="submit" class="btn btn-lg btn-primary col-xs-12">
</div>
</fieldset>
</form>
<a class="pull-left" href="auth-layout.ejs#">Forgot Password?</a>
<div class="clearfix"></div>
</div>
</div><!--/row-->
</div>
</div><!--/row-->
它保存在Auth
子文件夹中,但显示正确。注册表看起来非常相似,并且有效。
答案 0 :(得分:2)
替换这个:
<form class="form-horizontal login" action="/login" method="POST">.
用这个:
<form class="form-horizontal login" action="/auth/local" method="POST">
您也可以考虑使用本教程:https://www.bearfruit.org/2014/07/21/tutorial-easy-authentication-for-sails-js-apps/
它很容易实现它与该教程一样,因为它完成了你自动完成的大部分工作。
答案 1 :(得分:1)
好的,问题是另一项服务干扰了AuthController。无论如何,谢谢你的帮助