2017-02-21 28 views
1

我有一個Nextcloud安裝,與存儲在外部數據庫用戶的用戶,這正常工作與此應用程序:https://apps.nextcloud.com/apps/user_sqlNextcloud外部登錄在另一個數據庫

隨着到位,我可以登錄我的Nextcloud實例通過Nextcloud提供的登錄表單。

我需要autolog用戶,當他們來自另一個應用程序。

我寫了一個PHP腳本,放在我的Nextcloud安裝的根目錄下,它被我公司的其他內部應用程序調用。

此腳本在URL中接收userId和令牌。成功檢查後(無需詳細瞭解),此腳本應將用戶登錄到

我應該調用哪個API來讓用戶登錄?

我嘗試以下,沒有成功:

  • OC_User::login(...)
  • OC_User::getUserSession()->login(...)

是否有觸發有效的登錄方式,這樣我就可以得到用戶登錄?

謝謝你的回答,夥計們!

回答

0
$user = ''; 
$pass = ''; 
$s = \OC::$server->getUserSession(); 
if (!$s->isLoggedin()) $s->login($user, $pass); 
else $s->logout(); 

/index.php配售這並調用OC::handleRequest()之前的伎倆。它沒有按預期工作,但你可以嘗試從這裏繼續。

PD:Nextcloud Server v14.0.0 Alpha

+0

謝謝您的回答! – FruityFred

+0

公平......我唯一能做的就是自動填寫登錄字段並使用JavaScript在登錄按鈕上分派點擊事件 –