Firebase 有一个漂亮的预构建 UI 用于登录。我可以通过 this 轻松地将谷歌和电子邮件登录添加到我的网络应用程序中.
我还注意到还支持使用 Apple 登录,因此我继续按照此 flow 进行操作。也进行设置。
不幸的是,在 Apple 端设置完所有内容后,我注意到预构建的 UI 中没有对 Apple 的直接支持。例如,虽然有 firebase.auth.GoogleAuthProvider.PROVIDER_ID
,但没有 firebase.auth.AppleAuthProvider.PROVIDER_ID
。我可以将其添加到预构建的用户界面中,还是必须完全自定义才能支持使用 Apple 登录?
更新
基于下面@FrankvanPuffelen 的回答。我可以使用以下内容来指定我的登录提供商列表。
signInOptions: [
firebase.auth.GoogleAuthProvider.PROVIDER_ID,
firebase.auth.EmailAuthProvider.PROVIDER_ID,
'apple.com'
],
当然,我花了一个小时才发现我的服务标识符名称中有一个类型。
最佳答案
当我查看 FirebaseUI for Web 的文档时,我发现 configuring providers 部分提到了“使用 Apple 登录”。并在 available providers 列表中.
从最后一个链接来看,您似乎应该使用“apple.com”字符串值来表示“使用 Apple 登录”,而不是像大多数其他提供商那样使用常量。例如,就像 ceneric OAuth providers 中的这个片段一样:
ui.start('#firebaseui-auth-container', {
signInOptions: [
'apple.com',
'microsoft.com',
'yahoo.com',
]
});
最后:如果你 search for apple.com in the firebaseui-web repo ,您会发现更多相关的代码片段。
关于javascript - 如何将 Apple 登录添加到 firebase 预构建 ui?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66292781/