通过jaggery为API Manager获取用户声明

时间:2017-01-25 07:38:50

标签: wso2 wso2is wso2-am wso2carbon jaggery-js

我要求用户声明用户登录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并通过上述方法检索声明。

这可能是什么原因以及如何检索我需要的声明?

0 个答案:

没有答案