多个子域的身份验证

时间:2020-05-12 17:51:19

标签: node.js backend

大家下午好。

在团队中,我们计划制作n个与其他应用程序非常不同的应用程序,但我们需要用户一次性验证自己是否有权访问所有应用程序。

应用程序将在一个域中。

  • domain.com
  • app1.domain.com
  • app2.domain.com
  • app3.domain.com

因此,我们要实施与Google的认证方案非常相似的身份验证方案,在该方案中要管理另外两个子域:

  • accounts.domain.com:处理所有身份验证规则(例如登录,注册,忘记密码等)

  • myaccount.domain.com:来管理所有用户的个人信息,订阅,安全设置等。

问题如下:

  1. 最安全,最好的方法是什么?
  2. 我们应该考虑哪些数据库级别的考虑?
  3. 应避免哪些一般注意事项 未来的问题?

对于它的价值,我们将使用的堆栈为nestjs + mongodb + graphql

非常感谢您。

1 个答案:

答案 0 :(得分:1)

管理此问题的最简单,最安全的方法是使用访问服务的代理,而不是用户直接与服务进行通信。然后,他们只需要针对代理进行身份验证即可。

您的其他选项需要某种中央身份验证提供程序。这可以通过多种方法来完成(假设您控制所有涉及的服务)。您可以根据需要使用共享的跨域cookie或使用某种oauth流。

相关问题