适用于多种产品的Google Single Sign On架构

时间:2017-10-07 09:05:09

标签: java sql postgresql amazon-web-services jboss

我在各个亚马逊云服务器上有两个产品,它们有自己的数据库,包括用户管理。

现在,我正计划进行集中用户管理(SSO),例如,

  • AdminDb(用户主人访问所有产品)
  • Product1Db
  • Product2Db

enter image description here

我不是数据库专家,这是正确的方法吗?有没有可用的SSO服务?

如何维护每个产品数据库中任何用户的交易,因为用户主服务器位于不同的服务器和服务器中。数据库吗

请注意,我有类似的架构,谷歌有不同的域名。如果您需要任何其他信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

  

我不是数据库专家,这是正确的方法吗?有没有   已经提供SSO服务吗?

您可以使用Amazon Cognito用户池,它是一个完全托管的用户存储和身份服务,可用于对用户进行身份验证,也可以用于授权(使用Cognito用户和组)。您可以使用AWS SDKs自己使用Cognito Hosted UI或构建登录页面。

注意:示例适用于NodeJS,Java使用AWS JavaSDK中的相关方法。

  

如何维护每个产品数据库中任何用户的交易,   因为用户掌握在不同的服务器和数据库?

在身份服务中,您不会存储用户的业务相关信息(通常存储在产品数据库中)。因此,如果您有与产品用户相关的任何数据,请在各个应用程序数据库中使用身份服务中的标识符(ID或电子邮件等)。

话虽如此,您仍然可以使用自己的应用程序进行授权(使用身份服务,例如AWS Cognito用户池进行身份验证)。如果是这样,您可以将用户权限异步复制到其他产品数据库(分散用户权限),以便单个产品可以自我维持。您可以使用AWS SNS(Pub-Sub消息传递)。