我正在尝试使用express.js构建身份验证服务,但我还没有理解身份验证模块的概念。
护照和oauth中间件有什么区别?他们互相依赖吗?在没有oauth服务器的情况下让BearerStrategy生成到BearerStrategy验证的令牌是无用的吗?我在正确的道路上吗?
我读过关于oAuth2及其身份验证流程的文章,但是我仍然对这个不耦合的代码感到迷茫。
我正在尝试使用刷新令牌构建资源所有者密码身份验证,以便我的AngularJS前端与后端API进行通信,我还面临着password.js策略(Basic、Bearer、ClientPassword)与oauth2orize在另一边的许多组合。
因此,我想知道一个关于身份验证如何在NodeJS上工作的非常简单的解释。实际上,我知道Express并没有发明一种新的身份验证方式,但是这些模块太低调了,因此我需要了解它们如何协同工作的基础。
发布于 2016-04-08 08:33:41
护照是身份验证中间件。OAuth是授权中间件。
要理解不同之处:
认证是确定某个人确实是他自称的那个人的过程。 授权是指确定谁被允许做什么的规则。例如,Bob可能被授权创建和删除数据库,而Bobbette只被授权读取数据库。
换句话说。身份验证是您的用户名+密码。授权是你被允许做的事。
护照允许您在访问API之前对用户进行身份验证。它不允许(直接地,这是可能的)允许检查用户是否被允许在身份验证后执行一个操作。
有关身份验证与授权的更多信息,请查看此维基百科。
OAuth所不做的就是它允许用户授予服务访问他们的个人信息。它还允许用户允许或不允许某些特权(OAuth中的作用域)。
请注意,有很多OAuth口味。最常见的版本是使用Facebook或Google授权时出现的授权授予类型。但是还有很多其他的问题,包括您提到的资源所有者密码策略。
https://stackoverflow.com/questions/36490904
复制相似问题