我要求用户声明用户登录API Manager。我宁愿用棕褐色来做这件事。
但是,当我尝试以下
时var carbon = require('carbon');
var tenantId = -1234;
var url = 'https://10.100.0.49:9443/admin/services/';
var server = new carbon.server.Server(url);
var userManager = new carbon.user.UserManager(server, tenantId);
var user1 = new carbon.user.User(userManager, 'admin');
var userClaims = user1.getClaimsForSet(['http://wso2.org/claims/givenname'],'default');
print(userClaims);
我得到{}
作为回复。我通过管理控制台为管理员添加了给定名称的值
我还尝试为另一个注册API Store的用户获取声明值,但无济于事。
除此之外,我在carbon.user
中创建了一个js模块,在module.xml
中声明它并通过jag文件调用它。再一次,我得到一个回复,但它是空的,即。 {}
。我通过js链接的服务是org.wso2.carbon.um.ws.service.UserStoreManagerService
我实际上将API Manager与Identity Server结合使用。两个服务器都已根据此处给出的文档进行了群集 https://docs.wso2.com/display/CLUSTER44x/Configuring+the+Identity+Server+5.2.0+as+a+Key+Manager+with+API+Manager+2.0.0 和这里 https://docs.wso2.com/display/CLUSTER44x/Configuring+the+Pre-Packaged+Identity+Server+5.2.0+with+API+Manager+2.0.0
由于用户界面相同,我认为即使Identity Server正在处理用户管理,我也应该能够通过API Manager获得声明。
但是,为了确定,我还尝试按原样使用API Manager并通过上述方法检索声明。
这可能是什么原因以及如何检索我需要的声明?