产品生态系统中的身份验证和授权

时间:2016-08-02 06:40:04

标签: angularjs node.js security authentication authorization

我有一个由多个产品组成的产品生态系统,即:角度应用,网站和混合应用,均由节点后端提供。

所以,现在我想为整个生态系统添加一个身份验证和授权,它也需要模块化和可扩展。

另外,我遵循3层架构,即: [APPLICATION] - > [API] - > [DB] ,只有可以访问数据库的API层。

现在,我还希望身份验证和授权在生态系统中另一个应用,可插入其他应用并在没有太多设置的情况下使用。

此外,由于它是(身份验证和授权模块)另一个应用程序,我不希望它直接访问数据库,我希望它能够进行API调用,而且它不应该使用第三方身份验证方案,如auth0。

重要的是,除了身份验证和授权模块之外,其他任何应用程序都不应包含任何与身份验证相关的逻辑。

基本上这应该是模块,而不是插入时允许身份验证和授权并无缝集成。

这种设置可行吗?如果是这样我怎么去呢?如果不是如何在其他此类生产等级生态系统中实现认证和授权?

提前致谢!

1 个答案:

答案 0 :(得分:0)

认证绝对可以被视为一个模块;只是一个带有数据库后端的小部件,它接收凭据并吐出错误消息或授权令牌。然而,授权有点复杂;一旦您收到这些授权令牌,您需要确定它们的含义。

在不了解您的应用程序的情况下,我会说您需要为每个应用程序创建一个特权到用户帐户的映射。如果您只想限制用户访问彼此的内容,这是微不足道的,但如果您希望为某些用户提供比其他用户更多(或更少)的权限,则会变得更加困难。如果是这种情况,我建议您使用某种形式的role-based access control。您可以找到有关如何处理授权here的更多讨论。