我理解Passport.js的基本身份验证和摘要身份验证之间的区别,但本地策略与Basic或Digest之间有什么区别?在这三个中,您输入用户名和密码.Basic策略是一种用户和密码身份验证吗?请澄清.
Gle*_*lle 59
如果我理解正确,Passport.js中的Local,Basic和Digest策略之间的差异是微妙但重要的.这是破败的:
本地(护照本地)
Passport的本地策略是一种简单的用户名和密码认证方案.它从用户名(或其他标识符)中找到给定用户的密码,并检查它们是否匹配.本地策略与其他两种策略的主要区别在于它使用持久登录会话.应该通过SSL/TLS使用此策略.
基本(护照-http)
Passport实施的基本策略与本地策略几乎完全相同,只有一个细微差别.基本策略是与架构无状态的API端点一起使用.因此,会话不是必需的,但可以使用.此策略还应使用SSL/TLS.会话标志可以像这样设置:
app.get('/private', passport.authenticate('basic', { session: false }), function(req, res) {
res.json(req.user);
});
Run Code Online (Sandbox Code Playgroud)
摘要(护照-http)
摘要策略与其他两种策略略有不同,因为它使用特殊的质询 - 响应范例,以避免以明文形式发送密码.当SSL/TLS不可用时,此策略将是一个很好的解决方案.
这是一篇关于Basic vs. Digest:如何验证API的好文章
注意:所有三种策略都使会话支持可选.两个passport-http策略允许您设置会话标志,而Passport 文档说明这一点,关于护照本地策略:
请注意,启用会话支持完全是可选的,但建议大多数应用程序使用.
| 归档时间: |
|
| 查看次数: |
12333 次 |
| 最近记录: |