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

时间:2015-09-15 10:32:38

标签: javascript node.js authentication authorization hapijs

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

服务器身份验证SchemeStrategy之间的区别是什么?

我们是否需要两者

1 如果有人可以解释差异,我们会将PR纳入文档。

同时发布于:https://github.com/hapijs/discuss/issues/163

1 个答案:

答案 0 :(得分:10)

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

<强> SCHEMES

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

<强>策略

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

enter image description here

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