如何在 OpenAM 中创建具有创建领域权限的用户?

How to create a user in OpenAM with create realm privilege?

如何在 OpenAM/OpenSSO 中创建具有创建领域权限的用户(amAdmin 除外)?我们需要此功能让我们的 b2b 用户能够依次创建子组织。

一些委托 API 可通过 ClientSDK 获得,但是如果内存服务于旧版本的 ClientSDK,则需要在类路径上添加额外的服务器端库以实际允许那些 API工作。

通过 ClientSDK 创建委托管理员的本质是这样的:

  • 创建用户
  • 创建一个新组
  • 将用户添加到群组
  • 创建授予组访问权限的委派权限。

最后一部分的 Java 代码为:

DelegationManager delegationManager = new DelegationManager(adminToken, realmName);
Set<String> groups = Collections.singleton(group.getUniversalId());
DelegationPrivilege realmAdminPrivilege = new DelegationPrivilege("RealmAdmin", groups, realmName);
delegationManager.addPrivilege(realmAdminPrivilege);

当使用 REST APIs 时,我建议改为与策略交互(委派特权实际上只是 "special" 存储在 sunAMDelegationService 策略集下的隐藏领域下的策略)。