我在各个亚马逊云服务器上有两个产品,它们有自己的数据库,包括用户管理。
现在,我正计划进行集中用户管理(SSO),例如,
我不是数据库专家,这是正确的方法吗?有没有可用的SSO服务?
如何维护每个产品数据库中任何用户的交易,因为用户主服务器位于不同的服务器和服务器中。数据库吗
请注意,我有类似的架构,谷歌有不同的域名。如果您需要任何其他信息,请与我们联系。
答案 0 :(得分:0)
我不是数据库专家,这是正确的方法吗?有没有 已经提供SSO服务吗?
您可以使用Amazon Cognito用户池,它是一个完全托管的用户存储和身份服务,可用于对用户进行身份验证,也可以用于授权(使用Cognito用户和组)。您可以使用AWS SDKs自己使用Cognito Hosted UI或构建登录页面。
注意:示例适用于NodeJS,Java使用AWS JavaSDK中的相关方法。
如何维护每个产品数据库中任何用户的交易, 因为用户掌握在不同的服务器和数据库?
在身份服务中,您不会存储用户的业务相关信息(通常存储在产品数据库中)。因此,如果您有与产品用户相关的任何数据,请在各个应用程序数据库中使用身份服务中的标识符(ID或电子邮件等)。
话虽如此,您仍然可以使用自己的应用程序进行授权(使用身份服务,例如AWS Cognito用户池进行身份验证)。如果是这样,您可以将用户权限异步复制到其他产品数据库(分散用户权限),以便单个产品可以自我维持。您可以使用AWS SNS(Pub-Sub消息传递)。