2017-09-04 91 views
0

我們使用OpenAM(強制12)及其ACL的策略決策。我們如何通過REST API或客戶端SDK獲取資源列表(Uri +動詞)?我們添加了一些使用SDK的補充REST,我們也可以添加資源列表。從OpenAM獲取資源列表

回答

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