首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从反应性流聊天应用程序调用Firebase云功能

如何从反应性流聊天应用程序调用Firebase云功能
EN

Stack Overflow用户
提问于 2022-09-10 22:08:21
回答 1查看 95关注 0票数 0

长话短说,我熟悉Firebase,我需要将这个云功能称为"ext-auth-chat-getStreamUserToken“。触发器是对:https://europe-west2-FIREBASE-USER-INFO/ext-auth-chat-getStreamUserToken的HTTPS请求。

上下文:我使用Stream.io构建了一个消息应用程序,带有硬编码的用户数据和占位符标记。下面是关键代码:

代码语言:javascript
运行
复制
  useEffect(() => {
    async function init() {
      const chatClient = StreamChat.getInstance(apiKey)

      await chatClient.connectUser(user, chatClient.devToken(user.id))

      const channel = chatClient.channel("messaging", "war-chat", {
        image:
          "https://i.picsum.photos/id/1006/200/200.jpg?hmac=yv53p45TOMz8bY4ZXUVRMFMO0_6d5vGuoWtE2hJhxlc",
        name: "Oli",
        members: [user.id],
        //chat description
      })

      await channel.watch()

      setClient(chatClient)
    }

    init()
    if (client) return () => client.disconnectUser()
  }, [])

我已经在Firebase上安装了“使用流聊天进行身份验证”扩展。这将创建各种云功能,包括在firebase上创建新用户时在Stream上创建新用户的功能。

我唯一需要做的就是修改这段代码,将firebase与流聊天集成在一起:

代码语言:javascript
运行
复制
await chatClient.connectUser(user, chatClient.devToken(user.id))

我可以对用户对象进行排序。但是如何调用云函数来获取令牌呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-11 11:10:33

根据源代码getStreamUserToken云函数(链接在扩展的产品页面上),它是一个可调用云函数

代码语言:javascript
运行
复制
export const getStreamUserToken = functions.handler.https.onCall((data, context) => { /* ... */ });

调用云函数可以使用Firebase客户端SDK完成,如示例在这里的医生所记录的那样。由于云函数驻留在europe-west2区域(而不是默认的us-central1区域),因此在获取建筑商类实例时需要指定它。

代码语言:javascript
运行
复制
import { getFunctions, httpsCallable } from "firebase/functions";

const functions = getFunctions(undefined, "europe-west2") // undefined is passed in so that the default app is used

const getStreamUserToken = functions.callable("ext-auth-chat-getStreamUserToken");

const streamUserToken = await getStreamUserToken();

以同样的方式调用revoke函数。

代码语言:javascript
运行
复制
const revokeStreamUserToken = functions.callable("ext-auth-chat-revokeStreamUserToken");

await revokeStreamUserToken();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73675475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档