2014-04-10 15 views
1

我正在Facebook登錄,成功Facebook身份驗證後我想使用modx api登錄用戶,我可以使用下面的代碼登錄他。但我沒有得到如何登錄到多個上下文,我試圖通過「login_context」參數,但它仍然只在「web」上下文登錄他,而不是其他上下文。使用api函數登錄到modx中的許多上下文

$c = array(
    'login_context' => 'tech,data,finance', 
    'username' => $username, 
    'password' => $password, 
    'returnUrl' => 'http://www.mydomain.com', 
); 
$response = $modx->runProcessor('security/login', $c); 

回答

2

loginContext它只有一個背景下,如果您需要登錄到多個環境 - 使用add_contexts選項。

+0

Vasis,感謝您的解決方案,但它不工作 –

+0

''add_contexts'=>'data,finance',' - 不工作?! – Vasis

+0

它沒有工作,所以我現在使用隱藏的iframe方法。 –

0

這只是給你簡單的想法如何完成的基本代碼。

if(isset($_POST) && count($_POST)){ 
    $username = $_POST['uname']; 
    $password = $_POST['upass']; 
    $c = array(
    'login_context' => 'web', // main context 
    'add_contexts' => 'profile,gallery,videos', // other contexts 
    'username' => $username, 
    'password' => $password 
); 

    $response = $modx->runProcessor('security/login',$c); 

    if($response){ 
    if (!$response->isError()) { 
     if($response->response['success'] == 1){ 
     echo json_encode(array("success"=>1)); 
     }else{ 
     echo json_encode($response->response); 
     } 
    }else{ 
     echo json_encode($response->response); 
    } 
    } 
}