fusionauth - 如何限制用户登录/身份验证访问单个租户中的特定应用程序?
问题描述
我有一个租户,其中定义了四 (4) 个应用程序和十 (10) 个用户。我希望 3 个用户可以登录所有四个应用程序,7 个用户只能登录 2 个应用程序。但是,似乎每当我将用户添加到租户时,用户都会收到对所有 4 个应用程序的“登录/身份验证”权限。
在安装和设置 FusionAuth 之前,我想我可以使用“Groups”功能创建一个名为“Group-A”的组,该组将“授予”所有 4 个应用程序的登录访问权限,以及另一个名为“Group-B”的组" "授予" 仅对 2 个应用程序的登录访问权限。我会将 10 个用户分配给 Group-A 或 Group-B,并限制哪些用户可以登录/验证特定应用程序。
这种能力似乎不存在。我有什么误解?
解决方案
FusionAuth 支持此模型。我们称之为注册,如果用户有一个应用程序的注册,他们将被允许访问它。如果他们没有该应用程序的注册,他们将登录,但不会被授予访问该应用程序的权限。
具体实现取决于您与 FusionAuth 的集成:
如果您使用的是 OAuth 接口,当 FusionAuth 重定向回您的应用程序时,它将传递一个名为userState
. 这是向您的应用程序提供的关于用户是否已注册的提示。如果此参数的值为AuthenticatedNotRegistered
,则不应允许访问应用程序。
此外,如果您使用 OAuth 工作流程,当您将授权代码交换为令牌时,此令牌将不包括应用程序 ID 或用户对应用程序拥有的任何角色。
如果您正在使用/api/login
API,则响应将包含一个状态代码202
,指示用户已通过身份验证但未注册应用程序。同样,此 API 返回的 JWT 也不会包含应用程序 ID 或任何角色。
以下是 OAuth 和登录 API 的文档页面:
推荐阅读
- ruby - 如何在 Ruby Rake 中的任务之间传递数据?
- batch-file - if语句中的多个命令
- wordpress - 托管在 Wordpress 上的网站远程向其他服务器发送请求
- java-8 - Java Hadoop 安装:错误:无法找到或加载主类
- python - 单击后更改按钮活动状态
- java - 带有 Redis 会话的嵌入式 tomcat 8.5 的 Spring boot 2.0 和 Spring security
- actions-on-google - 以编程方式更改谷歌助手语音
- apache-kafka - NiFi Avro Kafka 消息纳米时间戳(19 位)以毫秒为单位转换为时间戳
- recursion - 这个递归在这个例子中是如何工作的?
- html - 加载骨架效果作为图像的背景颜色