使用HapiJS获取身份验证错误

马兹

我创建了这个简单的插件:

import bcrypt from 'bcrypt';
import Joi from 'joi';

import DynamoDBClient from '../lib/DynamoDBClient';

exports.register = (server, options, next) => {
  server.auth.strategy('simple', 'basic', {
    validateFunc: (request, email, password, callback) => {
      DynamoDBClient.findUserByEmail(email)
        .then(user => {
          if (!user) {
            return callback(null, false);
          }

          bcrypt.compare(password, user.password, (err, isValid) => {
            return callback(err, isValid, { id: user.id });
          });
        });
    }
  });

  server.route({
    method: 'POST',
    path: '/api/login',
    config: {
      auth: 'simple',
      validate: {
        payload: {
          email: Joi.string().required(),
          password: Joi.string().required()
        }
      }
    },
    handler: (request, reply) => reply(request.auth.credentials.id)
  });

  next();
};

exports.register.attributes = {
  name: 'login',
};

并在此处加载清单:

import Glue from 'glue';

const manifest = {
  server: {},
  connections: [
    {
      port: process.env.PORT || 3001,
      labels: ['api']
    }
  ], 
  plugins: {
    'hapi-auth-basic': {}, 
    './api/signup': {},
    './api/login': {},
    './api/products': {},
  }
};

const options = {
  relativeTo: __dirname
};

Glue.compose(manifest, options, (err, server) => {
  if (err) {
    throw err;
  }

  server.start(() => console.log(`Listening to ${server.info.uri}`));
});

但是我得到这个错误

{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Missing authentication"
}

当我尝试通过传递带有电子邮件和密码作为身体参数的POST请求进行登录时。

go

我认为您的/api/login路由不应受到身份验证方案的保护,否则,您必须经过身份验证才能进行身份验证。鸡肉和鸡蛋问题...您所有其他路线都应该如此。

换句话说,不应确保登录(和注销一样)路由。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HapiJS中基于角色的身份验证

来自分类Dev

使用bcrypt的Rails身份验证错误

来自分类Dev

如何使用Swift获取未经身份验证的身份

来自分类Dev

使用OpenStack API时发生未经授权的错误,无法从Keystone获取身份验证令牌

来自分类Dev

使用OpenStack API时发生未经授权的错误,无法从Keystone获取身份验证令牌

来自分类Dev

Perl WWW :: Mechanize-身份验证错误获取URL

来自分类Dev

如何使用Ember简单身份验证获取当前经过身份验证的用户?

来自分类Dev

Xcode-使用SSH身份验证添加存储库时,身份验证失败错误

来自分类Dev

Python社交身份验证-使用Google身份验证时导入错误

来自分类Dev

关于使用 twitter 身份验证标头的错误身份验证数据

来自分类Dev

用户身份验证错误

来自分类Dev

Twilio身份验证错误

来自分类Dev

RFacebook身份验证错误

来自分类Dev

递归身份验证错误

来自分类Dev

IIS身份验证错误

来自分类Dev

Javafx:身份验证错误

来自分类Dev

使用Python社交身份验证仅获取令牌

来自分类Dev

使用HTTP身份验证的Django Haystack连接错误

来自分类Dev

使用Curl Php SSL身份验证的400错误请求

来自分类Dev

错误12501使用Google登录进行身份验证

来自分类Dev

使用证书的相互SSL的WCF身份验证错误

来自分类Dev

尝试使用Firebase身份验证时出现错误

来自分类Dev

使用AngularFireModule进行身份验证时键入错误

来自分类Dev

jenkins中使用sudo的身份验证错误

来自分类Dev

使用HTTP身份验证的Django Haystack连接错误

来自分类Dev

使用GMAIL的SMTP身份验证,错误5.5.1

来自分类Dev

401.2使用匿名身份验证的IIS错误

来自分类Dev

使用基本身份验证时,PHP JSON错误

来自分类Dev

您如何使用 JavaMail API 侦听身份验证错误?

Related 相关文章

  1. 1

    HapiJS中基于角色的身份验证

  2. 2

    使用bcrypt的Rails身份验证错误

  3. 3

    如何使用Swift获取未经身份验证的身份

  4. 4

    使用OpenStack API时发生未经授权的错误,无法从Keystone获取身份验证令牌

  5. 5

    使用OpenStack API时发生未经授权的错误,无法从Keystone获取身份验证令牌

  6. 6

    Perl WWW :: Mechanize-身份验证错误获取URL

  7. 7

    如何使用Ember简单身份验证获取当前经过身份验证的用户?

  8. 8

    Xcode-使用SSH身份验证添加存储库时,身份验证失败错误

  9. 9

    Python社交身份验证-使用Google身份验证时导入错误

  10. 10

    关于使用 twitter 身份验证标头的错误身份验证数据

  11. 11

    用户身份验证错误

  12. 12

    Twilio身份验证错误

  13. 13

    RFacebook身份验证错误

  14. 14

    递归身份验证错误

  15. 15

    IIS身份验证错误

  16. 16

    Javafx:身份验证错误

  17. 17

    使用Python社交身份验证仅获取令牌

  18. 18

    使用HTTP身份验证的Django Haystack连接错误

  19. 19

    使用Curl Php SSL身份验证的400错误请求

  20. 20

    错误12501使用Google登录进行身份验证

  21. 21

    使用证书的相互SSL的WCF身份验证错误

  22. 22

    尝试使用Firebase身份验证时出现错误

  23. 23

    使用AngularFireModule进行身份验证时键入错误

  24. 24

    jenkins中使用sudo的身份验证错误

  25. 25

    使用HTTP身份验证的Django Haystack连接错误

  26. 26

    使用GMAIL的SMTP身份验证,错误5.5.1

  27. 27

    401.2使用匿名身份验证的IIS错误

  28. 28

    使用基本身份验证时,PHP JSON错误

  29. 29

    您如何使用 JavaMail API 侦听身份验证错误?

热门标签

归档