2017-02-21 24 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在登录按钮上分派点击事件 –