2017-01-05 134 views
1

对于身份验证策略是什么以及它扮演什么角色似乎没有真正清晰的解释。什么是身份验证策略

这就是我想这可能是到目前为止(请纠正我,如果我错了):

看来,每个登录类型有一个策略(谷歌,Facebook,地方等)。

该策略已创建,然后添加到护照对象,然后使用护照对象签署用于(未)指定时间的令牌。但是,用户名和密码最初并未通过jwt或护照进行验证。

+0

Passport.js基于名为Strategy的设计模式。所以它为每个给定的案例(谷歌,脸谱等)创建不同的策略(类)。 – Hosar

回答

1

passportjs中的身份验证策略并不那么复杂 - 它基本上处理用户的“身份验证”。

因此,例如,使用Passport LocalStrategy时,它将采用用户名/密码,然后检查数据库以查看这些凭据是否有效。

有了Google登录/ Facebook登录策略之类的东西,他们只需使用Google登录API/Facebook登录API将用户重定向到Google/Facebook,让他们接受所需的应用程序权限,然后检索最终访问权限来自提供者的令牌。

存在的策略使您可以通过许多不同的方式轻松使护照验证用户身份。

+0

有几个问题。如果Facebook创建了令牌,我们的服务器是否将该令牌存储为本地令牌?然后根据用户请求验证该令牌?那么,我们的'脸谱'应用程序的秘密将是secretOrKey?如果我们要使用Facebook,Facebook会不会控制到期时间? – user2331566

+0

它看起来从Git上的passport-facebook策略看,所有的策略都会让你从Facebook回来一个访问/刷新令牌,然后你必须定义你自己的回调来处理那个点之后的用户。所以这取决于你写这个逻辑。 – rdegges

相关问题