此库包含使用 Vapor Swift 将客户端应用程序与 Stream 后端集成的代码。 它还包含一个示例应用程序,演示如何将该库与 Vapor 应用程序集成。
将该库作为依赖项添加到您的 Package.swift
中
dependencies: [
// ...
.package(name: "StreamChat", url: "https://github.com/GetStream/stream-chat-vapor-swift.git", from: "0.1.0"),
],
然后将依赖项添加到您的应用程序,例如:
.target(
name: "App",
dependencies: [
.product(name: "StreamSDKVapor", package: "StreamChat"),
// ...
],
// ...
Stream 库需要您的 Stream 访问密钥和访问密钥密码才能工作。 如下配置该库:
// Get the keys, for example from environment variables
guard let streamAccessKey = Environment.get("STREAM_ACCESS_KEY"), let streamAccessSecret = Environment.get("STREAM_ACCESS_SECRET") else {
app.logger.critical("STREAM keys not set")
fatalError("STREAM keys not set")
}
let streamConfig = StreamConfiguration(accessKey: streamAccessKey, accessSecret: streamAccessSecret)
app.stream.use(streamConfig)
要生成与 Stream 后端一起使用的 JWT,您需要用户 ID。 然后,您可以调用 Stream 库来生成令牌:
let streamToken = try req.stream.createToken(name: userID)
您也可以传递一个可选的日期,以指定令牌的过期时间:
let streamToken = try req.stream.createToken(name: userID, expiresAt: Date().addingTimeInterval(3600))
要开始使用,您需要做几件事:
./scripts/localDockerDB.swift start
该应用程序允许用户通过向 /auth/register
发送 POST 请求进行传统注册,以及使用 "Sign In With Apple" (使用 Apple 登录) 。
注册或登录时,Vapor 应用程序会返回一个用于与 API 交互的 API 密钥(作为已验证的用户),以及一个用于 Stream 后端的 JWT。
请参阅以下支持存储库,了解如何在您的代码库中集成此库:
我们还发表了一篇 博客文章,介绍了此存储库中的内容以及如何入门。