【问题标题】:GetStream.io - Non authenticated user activityGetStream.io - 未经身份验证的用户活动
【发布时间】:2018-01-30 23:40:03
【问题描述】:

我正在使用 GetStream 的 Laravel 集成 (github.com/GetStream/stream-laravel),但注意到“演员”只是一个可交换的模型。我正在尝试允许登录用户发帖,但我想允许“匿名”(未经身份验证的)用户使用 UserAgent/fingerprint/ip/session 等来喜欢帖子。

有没有人做过类似的事情或知道一种方法来热交换actors或允许actor_id在特定情况下使用另一个模型?

【问题讨论】:

    标签: getstream-io


    【解决方案1】:

    您应该能够使用 ActivityTrait (https://github.com/GetStream/stream-laravel/blob/master/src/GetStream/StreamLaravel/Eloquent/ActivityTrait.php),而无需使用 activityActor 方法,该方法在此处调用:https://github.com/GetStream/stream-laravel/blob/master/src/GetStream/StreamLaravel/Eloquent/ActivityTrait.php#L130

    例如:

    class Model
    {
        use ActivityTrait {activityActor as traitActivityActor;}
    
        public function activityActor()
        {
            if (/* check if authenticated user */) {
                return $this->traitActivityActor(); // Reusing the same method.
            }
    
            return /* some other logic to return identifier for anonymous user */;
        }
    }
    

    这个包还有其他地方可以挂钩和调整功能。但我认为在你的情况下,这可能是这个模型最简单的。

    我希望这可以帮助您朝着正确的方向前进。

    【讨论】:

    • 啊,谢谢,我也确实解决了!我使用工厂来获取模型类:D
    • 您能详细说明一下吗?你到底在哪里使用了工厂?
    猜你喜欢
    • 2020-11-15
    • 2016-01-17
    • 2017-07-20
    • 2018-01-07
    • 2016-11-30
    • 1970-01-01
    • 2016-08-08
    • 2019-09-25
    • 2011-11-30
    相关资源
    最近更新 更多