【问题标题】:Authentication and Authorization in a product ecosystem产品生态系统中的身份验证和授权
【发布时间】:2016-12-07 09:21:58
【问题描述】:

我有一个由多个产品组成的产品生态系统,即:一个 Angular 应用、一个网站和一个混合应用,所有这些都由节点后端提供支持。

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

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

现在我还希望身份验证和授权成为生态系统中的另一个应用程序,可以插入其他应用程序并无需太多设置即可使用。

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

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

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

这种设置可行吗?如果是这样,我该怎么做?如果不是,在其他此类生产级生态系统中如何实现身份验证和授权?

提前致谢!

【问题讨论】:

    标签: angularjs node.js security authentication authorization


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-01-05
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多