将自定义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
的路由处理程序,因为表单将数据发送到此端点 -
auth
configuration与您的策略设置在路由处理程序
我的意思是这样的设置:(再次简化)
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!') } } })
希望有所帮助!