Sails.js 0.11 和护照:'Missing Credentials' 错误
Sails.js 0.11 and passport: 'Missing Credentials' error
我已遵循此站点的教程: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 作为数据库,我已经切换到本地磁盘(如在这个 repo 中),但仍然是同样的问题。我已经将 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
子文件夹中,但显示正确。注册表单看起来和它很像,而且可以用。
替换为:
<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/
使用该教程实现它要容易得多,因为它会自动完成您所做的大部分工作。
好的,问题是另一个服务干扰了 AuthController。无论如何感谢您的帮助
我已遵循此站点的教程: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 作为数据库,我已经切换到本地磁盘(如在这个 repo 中),但仍然是同样的问题。我已经将 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
子文件夹中,但显示正确。注册表单看起来和它很像,而且可以用。
替换为:
<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/
使用该教程实现它要容易得多,因为它会自动完成您所做的大部分工作。
好的,问题是另一个服务干扰了 AuthController。无论如何感谢您的帮助