使用 Firebase 和匿名用户设置 Stream activity 提要的推荐方法是什么?
What's the recommended approach to setup a Stream activity feed using Firebase and anonymous users?
我想显示一个全局 activity 供稿和对网站访问者(没有用户帐户)的反应计数。我的应用正在使用 Firebase 和 React。
我想要的:
- 显示全局提要(我将通过在每个 activity 中添加带有“to:”字段的活动来实现此目的)并将其显示在起始页上(目前尚未创建用户帐户,阅读-仅)
- 显示每个 activity(只读)
的点赞数
- 只要有人点击关注或点赞按钮,我就会要求用户登录并创建一个帐户。这一步之后的过程对我来说很简单。我将使用 Firebase 函数创建身份验证令牌并使用客户端 React 组件显示提要和反应。
我没有找到显示全局提要和对没有用户身份验证令牌的访问者的反应计数的解决方案。
我想到的一些解决方法:
- 一种方法是为每个网站访问者创建匿名 Firebase 用户和 Stream 身份验证令牌。只要用户进行交互,我就会要求他创建自己的帐户并使用 Firebase 迁移过程升级用户的帐户。从安全角度来看,这是非常安全的,但我会在后端有很多匿名用户。
- 另一种方法是创建一个全局用户并使用授权令牌来显示提要和点赞。只要有人进行交互,我就会要求用户登录。由于 activity 提要产品没有可用的只读流用户帐户,这可能会导致安全问题。
您还有其他解决方案吗?
我找到了一种使用 JWTScopeToken 辅助函数为客户端创建只读令牌的方法。 (Feed wide read-only tokens)
const streamSigner = require('getstream/lib/signing')
const apiSecret = '###APISECRET###'
const clientToken = streamSigner.JWTScopeToken(apiSecret, 'feed', 'read', {'feedId': '*', userId: "global"})
console.log("read-only client token for all feeds", clientToken)
使用此令牌可以向新访问者显示用户和全球供稿。我不必再创建匿名用户了。
我想显示一个全局 activity 供稿和对网站访问者(没有用户帐户)的反应计数。我的应用正在使用 Firebase 和 React。
我想要的:
- 显示全局提要(我将通过在每个 activity 中添加带有“to:”字段的活动来实现此目的)并将其显示在起始页上(目前尚未创建用户帐户,阅读-仅)
- 显示每个 activity(只读) 的点赞数
- 只要有人点击关注或点赞按钮,我就会要求用户登录并创建一个帐户。这一步之后的过程对我来说很简单。我将使用 Firebase 函数创建身份验证令牌并使用客户端 React 组件显示提要和反应。
我没有找到显示全局提要和对没有用户身份验证令牌的访问者的反应计数的解决方案。
我想到的一些解决方法:
- 一种方法是为每个网站访问者创建匿名 Firebase 用户和 Stream 身份验证令牌。只要用户进行交互,我就会要求他创建自己的帐户并使用 Firebase 迁移过程升级用户的帐户。从安全角度来看,这是非常安全的,但我会在后端有很多匿名用户。
- 另一种方法是创建一个全局用户并使用授权令牌来显示提要和点赞。只要有人进行交互,我就会要求用户登录。由于 activity 提要产品没有可用的只读流用户帐户,这可能会导致安全问题。
您还有其他解决方案吗?
我找到了一种使用 JWTScopeToken 辅助函数为客户端创建只读令牌的方法。 (Feed wide read-only tokens)
const streamSigner = require('getstream/lib/signing')
const apiSecret = '###APISECRET###'
const clientToken = streamSigner.JWTScopeToken(apiSecret, 'feed', 'read', {'feedId': '*', userId: "global"})
console.log("read-only client token for all feeds", clientToken)
使用此令牌可以向新访问者显示用户和全球供稿。我不必再创建匿名用户了。