云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

_如何搭建游戏服务器_新用户

小七 141 0

cdn业务资质_怎么选择_数据库软件工程师

编者按:欢迎来到EMEA博客收购,我们的EMEA员工将接管Auth0博客,分享该地区的成功案例。本周,您将与我们的思想领袖们见面,了解我们最引人注目的一些用例,并了解影响我们如何开展业务的趋势。DR:在本文中,您将了解Auth0如何支持单租户和多租户应用程序的多种配置。Auth0中多租户支持的设置因向客户提供多租户解决方案的方式以及每个租户所需的灵活性而异。在上下文方面,淘大客,我将本博客中的Auth0配置基于一个虚构的产品管理解决方案Product0,它作为多租户SaaS应用程序提供给几乎所有客户。Product0还有一些客户选择了解决方案的专用实例,该实例作为单个租户应用程序提供给这些客户。术语首先,让我们来讨论一些基本术语。Auth0是一个多租户解决方案。"租户"是一个逻辑隔离单元,借用了术语"软件多租户"。这是指一个软件实例为多个租户服务的体系结构。没有租户可以访问另一个租户的实例,即使软件可能在同一台计算机上运行(因此逻辑隔离)。有关租户的更多信息,请参阅Auth0词汇表。在本文中,我们将把租户称为"Auth0域"。Auth0域有一个唯一的名称,如"product0.Auth0.com",它包含一组特定应用程序/用例的所有配置/数据。多租户=一个实例,多个客户单租户=一个实例,一个客户"Auth0是一个多租户解决方案。‘租户’是一个逻辑隔离单元,借用了术语‘软件多租户’。"在推特上留言Auth0的域模型:Auth0的租用配置模型为如何将Auth0用于企业自己的多租户体系结构提供了巨大的灵活性。Auth0的域(租户)模型允许配置与其他域完全隔离。这意味着域可以为用户、品牌和身份验证/授权策略提供完全分离。配置为使用Auth0进行身份验证/授权的应用程序只能与单个域集成。您也可以将域视为"SSO域"情节下面的两个场景使用Product0示例,B2B用例一直保持相对较高的级别,以便在研究如何将Auth0用于B2B应用程序时提供一个起点。连接类型将根据每个租户在应用程序中的身份验证方式而有所不同。在本文中,我将讨论使用azureactivedirectory的数据库用户和企业联盟。B2B SaaS多租户应用程序B2B SaaS应用程序最常见的场景是将B2B SaaS解决方案作为多租户应用程序提供给多个客户。构建Auth0以支持多租户应用程序的最佳方法是使用单个Auth0域。然后,多租户应用程序将在Auth0中表示为"application"部分中的单个应用程序。这意味着多租户应用程序将只使用一个客户端_id与Auth0交互。下面的"租户0"支持多产品架构关系图:何时使用此选项:一个共享的多租户应用程序,只有一个登录页面(所有租户都通过同一个登录页面、同一个域登录)所有租户中的所有用户都存在于单个数据库中(Auth0数据库连接或自定义数据库连接)您希望将Home Realm Discovery(HRD)用于任何企业连接不需要登录页面上的每个客户品牌最终用户可能属于多个租户,因此需要登录到多个租户。同样,好评返现,Auth0是一个多租户解决方案,这意味着来自不同客户的用户都通过管理.auth0.com的页面,它是Auth0品牌的(非特定于客户的),向所有客户提供所有登录选项。Auth0管理仪表板的配置方式与上面的Product0示例相同。此设置允许用户属于多个租户,返现是什么意思,这在Auth0中很有可能。由于这是一个多租户应用程序,许多客户将使用同一个共享实例,因此能够将多个不同的连接(身份验证方法)与单个应用程序关联起来是至关重要的。这可能是一个数据库或许多不同企业连接中的一个,所有这些都可以在Auth0中轻松配置。在某些情况下,淘客单,多租户应用程序可以使用单独的URL作为子域或为租户配置的路径。例如,多租户应用程序可能使用以下形式的url:https://{customer}.product0.com或https://www.product0.com/{客户}。当你的用户在你的应用程序中获取一个提示值时,你可以通过一个用户的用户名来访问你的应用程序。然后可以在通用登录页面和规则引擎中使用login_提示来驱动租户逻辑。如果租户只使用一个连接,也可以使用connection参数来实现。要点:对于这种情况,我们建议您在使用Auth0中配置的多租户应用程序时仅使用单个数据库连接。尽管可以针对一个应用程序配置多个数据库连接,但为了使Auth0知道要对哪个数据库对用户进行身份验证,必须提供连接_id。在找到有效用户之前,Auth0不会尝试对所有启用的数据库连接进行身份验证。使用多个数据库连接意味着必须在登录页上实现逻辑,以确定用户属于哪个连接,并在尝试身份验证之前将"connection"参数设置为该值。Product0多租户应用程序的登录页面示例,其中主领域发现用于特定客户。当使用多租户应用程序时,大数据是什么意思,每个组织可能使用不同的身份提供者(idp),如ADFS、Azure AD、G Suite或用户名/密码存储。可以针对每个企业连接配置电子邮件域,作为路由身份验证请求的方式。这在Auth0中称为home realm discovery(HRD)。当用户使用Auth0锁进行身份验证时,他们输入的电子邮件地址带有针对企业连接配置的域,密码字段将自动取消,电子邮件将与IdP连接相关联。请注意,Lock内置了对HRD的支持。在构建自定义登录表单时,需要实现此功能。B2B SaaS单一租户在单个客户拥有专用实例single tenant的情况下,Auth0提供了在单个Auth0域中管理单个租户的灵活性。为了有效地支持此模型,单个租户将在Auth0中拥有自己的应用程序,这意味着它有一个唯一的客户端_id。下面的体系结构图显示了如何对Auth0进行建模,以支持多租户应用程序和每个单个租户实例:上面的模型假设,对于单租户应用程序,用户只能属于一个租户,每个应用程序都映射到一个单独的数据库连接,这意味着每个客户的用户将在逻辑上分离。由于每个数据库连接都设置了密码策略和用户名策略,因此可以为每个客户支持不同的密码策略,或者可以同时使用电子邮件和用户名,因此,如果您的任何客户需要此模式,则此模式是一个不错的选择。"Auth0提供了在单个Auth0域中管理单个租户的灵活性。"在推特上留言何时使用此选项:专用于单个客户的单个租户应用程序登录页面上的客户品牌是必需的应将客户连接配置为仅显示此终端用户的连接如果一个用户可能属于多个单实例租户或单个实例租户以及多租户实例中的一个租户,则应使用单个数据库连接来存储所有用户。让我们考虑一下您可能希望为每个租户提供的以下要求:客户品牌登录页面仅显示客户的关联登录选项(即,仅向客户配置的Azure AD域显示使用Azure AD登录)然后,登录页面上的品牌化可以由client_id参数驱动,该参数从租户实例(客户端/应用程序)发送到authorize请求中的Auth0。https://{YOUR\'u AUTH0\u DOMAIN}/authorize?客户机编号=[…]然后,在通用登录页面中可以使用客户机的标识,并且可以通过config对象进行访问配置客户端ID"推动品牌逻辑。具有客户特定品牌的登录页面示例,并且仅限于由client_id参数驱动的适用连接(Azure AD)。可以在应用程序设置中为每个应用程序启用/取消连接,这意味着只有与租户相关的特定连接才能在通用登录页面上使用。如果提前知道连接(在重定向到Auth0通用登录页之前)或您实现了自定义登录UI,则可以完全控制身份验证流。您可以根据上下文(比如给定的电子邮件地址)选择连接,也可以询问用户,然后将connection参数提供给Auth0.js的一个登录方法。将企业连接的名称作为authorize请求中的连接参数传递,将绕过Auth0通用登录页,并将用户重定向到上游IdP登录