dongya9904 2016-09-23 21:55
浏览 31
已采纳

如何第三方应用程序访问Yii2(HumHub)

I want to give a 3rd party PHP application access to Yii2 user data (HumHub) and have tried this:

    function getUserId() {
      require_once('../protected/vendor/yiisoft/yii2/Yii.php');
      $yiiConfig = require('../protected/config/common.php');
      (new humhub\components\Application($yiiConfig));
      $user = Yii::$app->user->identity;

      return $user;
    }

This does not work. There are no errors up until new humhub\components\Application($yiiConfig) but then the 3rd party app breaks with no error thrown and the function does not return anything.

I did find this solution which does not work.

Is there are reason this does not work or is there an alternate solution to getting Yii2 user data properly?

  • 写回答

2条回答 默认 最新

  • dongsou3041 2016-09-24 12:02
    关注

    This is how to do it in HumHub V1.0

        require_once('../protected/vendor/yiisoft/yii2/Yii.php');
        $config = yii\helpers\ArrayHelper::merge(
            require('../protected/humhub/config/common.php'),
            require('../protected/humhub/config/web.php'),
            (is_readable('../protected/config/dynamic.php')) ? require('../protected/config/dynamic.php') : [],
            require('../protected/config/common.php'),
            require('../protected/config/web.php')
        );
        new yii\web\Application($config); // No 'run()' invocation!
    

    Now I can get $user object:

       $user = Yii::$app->user->identity;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号