我有一个项目,它使用firebase auth和firebaseUI来验证用户.我启用了Google,Facebook和电子邮件提供商.我需要的是远程注销或禁用某些用户.
我希望用户在这样做时从应用程序注销.我尝试在firebase控制台中禁用该用户,并使用firebase管理SDK(https://firebase.google.com/docs/auth/admin/manage-sessions)撤消刷新令牌.
我等了2天以上,仍然注意到用户已登录并可以访问firestore数据.
我也经历了尝试 Firebase在删除后仍然检索authData
谁能指出我做错了什么?
我添加了https://developers.google.com/web/fundamentals/app-install-banners/native指定的本机应用安装横幅。
我的要求是,应在所有浏览器上显示一个带有安装按钮的对话框,并在单击安装时在chrome上显示本机应用程序安装横幅,在其他浏览器上应使用firebase动态链接。
我模仿了如图所示的应用程序安装对话框,其中包含应用程序徽标,标题,描述和安装按钮。
在除chrome之外的所有浏览器上,都会立即显示此对话框,并且安装按钮链接到firebase动态链接,如果已安装,它将打开应用程序,否则将打开playstore来安装应用程序。
在chrome中,beforeinstallprompt事件触发时将显示该事件,并单击“安装”后,我将调用,deferredPrompt.prompt()以显示本机应用程序安装对话框。
所有这些工作正常,但是chrome第一次在横幅上方显示了迷你信息栏,如下所示。一旦我们关闭了迷你信息栏,它将在下次继续正常运行。(因为chrome在文档中提到的未来3个月内不会显示迷你信息栏)
我的Next.js代码显示安装横幅如下。
getInitialState() {
const { userAgent } = this.props;
const bDetails = new BrowserDetails(userAgent);
return {
deferredPrompt: null,
showBanner: bDetails.isMobile() && bDetails.isAndroid() && !bDetails.isChrome(),
isChrome: bDetails.isChrome(),
};
}
componentDidMount() {
const { isChrome } = this.state;
if (isChrome) {
this.listenForInstallBanner();
}
}
onClickInstallApp() {
const { deferredPrompt } = this.state;
deferredPrompt.prompt();
deferredPrompt.userChoice.then((choice) => {
if (choice.outcome === 'accepted') {
this.closeDialog();
}
});
}
listenForInstallBanner = () => …Run Code Online (Sandbox Code Playgroud)