我正在为几个人做一个小应用程序。由于他们都有iPhone,我需要一些低调的用户管理,所以我将使用Firebase。它有一个非常易于使用的"使用 Apple 登录"实现,这正是我所需要的。
据我所知,"使用 Apple 登录"本机允许您指定请求的范围,如下所示(在自己实现时(:
request.requestedScopes = [.fullName, .email]
但我不需要他们的电子邮件。我只想要一个唯一的用户(通过一些隐藏的ID(和他们的名字(不一定是唯一的(。
使用 Firebase 时,按照本指南,我无法访问"请求"或其范围,并且似乎默认情况下会请求电子邮件。在这种情况下,Firebase 是否需要.email
?似乎是这样,就像现在使用它一样,我看到用户电子邮件在Firebase身份验证控制台的用户列表中用作"标识符"。
如果是这样,这对我来说不是一个交易破坏者(尽管我确信对某些人来说是这样(,但它确实感觉"不稳定",要求他们的电子邮件地址几乎一无所获。
是否可以在Firebase中使用"使用Apple登录"而不请求用户电子邮件?
进入FirebaseUI文件(来自CocoaPods(并更改了一些字段后,它确实可以在没有电子邮件的情况下完美运行。用户只需在控制台中以"-"作为标识符显示。
我唯一需要更改的文件是FUIOAuth.m
,通过从第:195
行和:245
行中删除范围"电子邮件"。 这显然是一个糟糕的主意。切勿编辑窗格。但现在我知道这是可能的。 如果我真的想要FirebaseUI,我可以将框架下载为zip并在那里进行更改,或者我可以放弃整个FirebaseUI并创建自己的UI并在没有电子邮件范围的情况下实现它。
如果他们能公开范围,这样我就不必做这些了......