在hapi.jsauthenticationscheme和策略之间有什么区别?

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

服务器authenticationscheme策略有什么区别

我们需要两个吗?

1如果有人可以解释我们的差异,我们将公关到文档。

也张贴在: https : //github.com/hapijs/discuss/issues/163

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

SCHEMES

一个scheme是一种通用的authentication方式。 基本身份validation和摘要身份validation是不同types的身份validation,在hapi中,每个身份validation都是不同的scheme。 您可以将scheme视为authentication模板。 一个scheme不是直接用来validation用户,而是从scheme中创build一个特定的策略。

策略

策略是具有分配名称的scheme的configuration实例。 战略的存在使得你可以多次使用相同的scheme,方式稍有不同。 例如,可能决定要在您的应用程序中使用基本身份validation。 对于某些路由,您可能希望根据数据库中的值和其他路由来validation用户的密码,您可能希望根据存储在文本文件中的值检查密码。 在这种情况下,您可以从计划中创build2个不同的策略。 策略关系的scheme在下面直观地描述:

在这里输入图像描述

大多数应用程序将从已经作为插件发布的现有scheme(即, hapi-auth-basic )创build新策略。