从 OpenAM 获取资源列表
Get resource list from OpenAM
我们正在使用 OpenAM(强制 12)及其 ACL 策略决策。我们如何通过 REST API 或 Client SDK 获取资源列表 (Uri+verb)?我们已经使用 SDK 添加了一些互补的 REST,我们也可以添加资源列表。
使用以下IP可以获得完整数据
Get - http://youurl/openam/xacml/policies
Header - "iplanetDirectoryPro" = "Token value"
之后您需要根据 "application".
过滤 "resources"
function get_resources() {
$resources = array();
if(isset($_SESSION['OpenAmSession']['sso_token']) || !empty($_SESSION['OpenAmSession']['sso_token'])) {
$curl = new Curl();
$curl->setHeader('iPlanetDirectoryPro', $_SESSION['OpenAmSession']['sso_token']);
$curl->setHeader('Content-Type', 'application/json');
$curl->post(OPENAM_BASEURL.'/json/policies?_action=evaluate', array(
'resources' => array("your URL"),
'application' => 'Application Name',
));
if ($curl->error) {
//echo $curl->error_message;
} else {
if(isset($curl->response[0]->attributes->resources)) {
$resources = $curl->response[0]->attributes->resources;
}
}
}
return $resources;
}
我们正在使用 OpenAM(强制 12)及其 ACL 策略决策。我们如何通过 REST API 或 Client SDK 获取资源列表 (Uri+verb)?我们已经使用 SDK 添加了一些互补的 REST,我们也可以添加资源列表。
使用以下IP可以获得完整数据
Get - http://youurl/openam/xacml/policies
Header - "iplanetDirectoryPro" = "Token value"
之后您需要根据 "application".
过滤 "resources"function get_resources() {
$resources = array();
if(isset($_SESSION['OpenAmSession']['sso_token']) || !empty($_SESSION['OpenAmSession']['sso_token'])) {
$curl = new Curl();
$curl->setHeader('iPlanetDirectoryPro', $_SESSION['OpenAmSession']['sso_token']);
$curl->setHeader('Content-Type', 'application/json');
$curl->post(OPENAM_BASEURL.'/json/policies?_action=evaluate', array(
'resources' => array("your URL"),
'application' => 'Application Name',
));
if ($curl->error) {
//echo $curl->error_message;
} else {
if(isset($curl->response[0]->attributes->resources)) {
$resources = $curl->response[0]->attributes->resources;
}
}
}
return $resources;
}