1个不稳定版本

0.1.0 2023年9月6日

#1106游戏开发


bevy-firebase-firestore 使用

MIT/Apache

30KB
513

bevy-firebase-auth

Bevy的Google Firebase Auth集成。

目前仅实现Google + GitHub OAuth2。未来将支持所有Firebase认证方法。

警告

这个插件尚未经过实战测试,如果你不小心,你会信任这个插件并使用API密钥来产生费用并访问你的数据。

你的密钥要么嵌入在分发的二进制文件中,要么作为单独的文件提供,但无论哪种方式,都需要基本上是公开的。请确保你的GCP已做好准备。

安装

cargoadd bevy-firebase-auth

依赖项

需要 bevy-tokio-tasks 以使tonic包工作。移除依赖项是一个待办事项,我只是还不够熟悉Rust。

版本兼容性

针对Bevy 0.11.0

用法

设置

创建一个Firebase项目,并记下你的项目ID和客户端ID以及密钥。

将客户端密钥放置在项目根目录下的 keys.ron 文件中,并将 keys.ron 添加到你的 .gitignore

keys.ron 应该格式如下

{
    Github: Some(("YOUR-GITHUB-CLIENT-ID","YOUR-GITHUB-CLIENT-SECRET")),
    Google: Some(("YOUR-GOOGLE-CLIENT-ID-STRING.apps.googleusercontent.com","YOUR-GOOGLE-CLIENT-SECRET"))
}

这个结构可能会在下一个版本中改变,所以我建议不要围绕它编写任何工具。

App::new()
    // PLUGINS
    .add_plugins(DefaultPlugins)
    // Dependency for firestore RPC to work
    .add_plugins(bevy_tokio_tasks::TokioTasksPlugin::default())
    .add_plugins(bevy_firebase_auth::AuthPlugin::default());

密钥+密钥

Google喜欢将必需的密钥放置在各个地方,需要几个步骤来设置项目。以下是一个简要的说明,以获取使用插件所需的所有内容。

创建Firebase项目

访问 此链接 并创建一个项目。

项目ID,API密钥

创建项目后,转到项目设置(在Firebase项目控制台的设置齿轮中),并记下项目ID和Web API密钥。

客户端ID,客户端密钥

我们需要创建一个标识符来验证应用程序与谷歌后端。前往这里,在左上角的下拉菜单中选择您的项目,并创建一个新的OAuth2凭证。给它起一个易于识别的名字,并在生成后记下客户端ID和客户端密钥。

注意:我仅在桌面客户端上进行过测试。

如果需求存在,我将添加GitHub和其他登录方法的说明,如它们可用,请在GitHub上创建一个问题:)

许可协议

Apache 2.0或MIT,用户自行决定。

依赖项

~24–41MB
~648K SLoC