将自定义login表单添加到hapi-auth-basic

我使用hapi-auth-basic来authentication用户。 我的问题是如何添加自定义login表单,而不是使用浏览器的基本forms。

您可以将hapi-auth-basic的function绑定到任何自定义login表单。 您需要确保在服务器端正确评估属性。

下面是hapi中的基本authenticationhapi-auth-basic的专用教程。

假设你有这样一个表格:(这是非常简单的说明目的)

 <form action="/login" method="post"> <input type="text" name="username"> <input type="text" name="password"> <input type="submit" value="Log in"> </form> 

在服务器端,你需要有多个东西:

  • 一个带有validateFunc的authentication策略,它接受input并根据你的数据集(比如数据库)
  • path/login方法POST的路由处理程序,因为表单将数据发送到此端点
  • authconfiguration与您的策略设置在路由处理程序

我的意思是这样的设置:(再次简化)

 server.auth.strategy('simple', 'basic', { validateFunc: (request, username, password, callback) => {} }) server.route({ method: 'GET', path: '/private-route', config: { auth: 'simple', handler: function (request, reply) { reply('Yeah! This message is only available for authenticated users!') } } }) 

希望有所帮助!