从OpenAM获取资源列表

时间:2017-09-04 14:17:07

标签: openam opensso forgerock

我们正在使用OpenAM(强制12)及其ACL的策略决策。我们如何通过REST API或Client SDK获取资源列表(Uri +动词)?我们已经使用SDK添加了一些补充REST,我们也可以添加资源列表。

1 个答案:

答案 0 :(得分:1)

使用以下IP可以获得完整的数据

Get    -  http://youurl/openam/xacml/policies
Header -  "iplanetDirectoryPro" = "Token value"

之后,您需要根据“应用程序”过滤“资源”。

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;
}