首页 > 解决方案 > 如何限制用户登录/身份验证访问单个租户中的特定应用程序?

问题描述

我有一个租户,其中定义了四 (4) 个应用程序和十 (10) 个用户。我希望 3 个用户可以登录所有四个应用程序,7 个用户只能登录 2 个应用程序。但是,似乎每当我将用户添加到租户时,用户都会收到对所有 4 个应用程序的“登录/身份验证”权限。

在安装和设置 FusionAuth 之前,我想我可以使用“Groups”功能创建一个名为“Group-A”的组,该组将“授予”所有 4 个应用程序的登录访问权限,以及另一个名为“Group-B”的组" "授予" 仅对 2 个应用程序的登录访问权限。我会将 10 个用户分配给 Group-A 或 Group-B,并限制哪些用户可以登录/验证特定应用程序。

这种能力似乎不存在。我有什么误解?

标签: fusionauth

解决方案


FusionAuth 支持此模型。我们称之为注册,如果用户有一个应用程序的注册,他们将被允许访问它。如果他们没有该应用程序的注册,他们将登录,但不会被授予访问该应用程序的权限。

具体实现取决于您与 FusionAuth 的集成:

如果您使用的是 OAuth 接口,当 FusionAuth 重定向回您的应用程序时,它将传递一个名为userState. 这是向您的应用程序提供的关于用户是否已注册的提示。如果此参数的值为AuthenticatedNotRegistered,则不应允许访问应用程序。

此外,如果您使用 OAuth 工作流程,当您将授权代码交换为令牌时,此令牌将不包括应用程序 ID 或用户对应用程序拥有的任何角色。

如果您正在使用/api/loginAPI,则响应将包含一个状态代码202,指示用户已通过身份验证但未注册应用程序。同样,此 API 返回的 JWT 也不会包含应用程序 ID 或任何角色。

以下是 OAuth 和登录 API 的文档页面:


推荐阅读