使用私有Google存储的Firebase iOS SDK身份验证

Tro*_*sen 8 google-cloud-storage firebase swift firebase-authentication firebase-storage

我正在我的应用程序(macOS app)中使用适用于iOS/macOS的Firebase SDK进行测试.我使用以下方法安装了SDK:

pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :tag => '4.8.2'
pod 'FirebaseAuth', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :tag => '4.8.2'
pod 'FirebaseStorage', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :tag => '4.8.2' 
Run Code Online (Sandbox Code Playgroud)

安装工作正常,我可以使用AppDelegate配置我的应用程序 [FIRApp configure];

我想知道我是否可以使用SDK将用户登录到他/她的私有Google云端存储(GCS)?我知道我可以使用SDK在应用程序存储中存储到GCS,但是登录用户自己的GCS以检索存储桶和文件列表会很不错.如果有人有如何做到这一点的例子我会很感激.我找到的所有示例都是匿名存储登录.

更新: 我可以指定我希望Firebase SDK包含允许我访问自己的Google云存储帐户的身份验证方法.也许Firebase不是这个的正确选择,但是我会对Swift/objective-c登录/上传/下载到Google云存储的替代SDK的建议非常感兴趣.

dse*_*sto 3

您确实可以使用适用于 iOS 的 Firebase SDK 来使用 Firebase Cloud Storage(它实际上将数据存储在 Google Cloud Platform Cloud Storage 的存储桶中),同时使用 Swift 和 Objective-C。

iOS 中的 Firebase 云存储

关于 Firebase 应用程序中 Cloud Storage 存储桶的使用,您可以从此文档页面开始。首先,您必须为存储桶设置适当的安全规则:您可以允许公共访问、仅允许经过身份验证的用户访问,甚至可以允许每个用户 ID 访问。您可以使用一些示例规则来开始处理此问题。

一旦您为存储桶设置了适当的访问权限(如果每个用户都有自己的存储桶,那么我假设每个用户都将拥有一个带有私有存储桶的 GCP 帐户,并且他们必须自己设置配置访问权限,因为您不会有权访问它们),您可以将 Cloud Storage 依赖项添加到您的 iOS 应用程序中:

pod 'Firebase/Core'
pod 'Firebase/Storage'
Run Code Online (Sandbox Code Playgroud)

然后运行pod install,在应用程序中初始化 Firebase 后,您已经可以创建对 Cloud Storage 的引用(这里有一个 Swift 示例代码,但您也可以查看文档中的 Objective-C 示例):

// Import and set up Firebase
import Firebase
FirebaseApp.configure()

// Create a storage reference
let storage = Storage.storage()
let storageRef = storage.reference()

// Refer to a child directory or even a file
let folderRef = storageRef.child("my_folder")
var fileRef = folderRef.child("my_file.txt")
Run Code Online (Sandbox Code Playgroud)

一旦掌握了所有这些,您就可以继续学习更复杂的指南,例如上传文件下载文件或(重要的)处理错误。请记住,这些只是您可以按照分步文档执行的操作的一些示例,但请随意浏览所有页面,以便更深入地了解这一切是如何工作的。

iOS 中云存储的 Firebase 身份验证

此外,关于身份验证,您可以遵循可能已用于 Firebase 应用程序其余部分的相同规则。让我分享另一个页面,讨论提供Firebase 身份验证的一些机制,特别是如何在 iOS 上提供 Firebase 身份验证