在hapi.js中,Auth Scheme和Strategy之间有什么区别?

nel*_*nic 6 javascript authentication authorization node.js hapijs

hapi.js文档不是特别(完整)初学者友好1 ...

服务器身份验证方案策略之间有什么区别

我们需要两者兼得吗?

1如果有人能够解释这些差异,我们会将PR纳入文档.

也发布在:https://github.com/hapijs/discuss/issues/163

Mat*_*son 11

是的,你需要两者.它们完全不同.他们在这里解释:http://hapijs.com/tutorials/auth.但让我以不同的方式重复:

SCHEMES

方案是一种通用的身份验证.基本身份验证和摘要身份验证是不同类型的身份验证,而在hapi中,每个身份验证都是不同的方案.您可以将方案视为身份验证的模板.方案不直接用于验证用户,而是从方案中创建特定策略.

策略

策略是具有指定名称的方案的已配置实例.存在策略,因此您可以以稍微不同的方式多次使用相同的方案.例如,可能决定要在您的应用中使用基本身份验证.对于某些路由,您可能希望根据数据库中的值验证用户的密码,对于某些其他路由,您可能希望根据存储在文本文件中的值检查密码.在这种情况下,您可以从方案中创建2种不同的策略.策略关系的方案在下面直观地描述:

在此输入图像描述

大多数应用程序将根据已作为插件发布的预先存在的方案(即hapi-auth-basic)创建新策略.