你好匿名用户!
欢迎回到我的第二个UI5 Firebase博客。
在这个博客中,我们将继续开发我们以前创建的SAP Firebase Connect应用程序。
这个以前创建的应用程序向我们展示了如何将实时发货导入我们的应用程序,以及如何对实时更新(如添加、修改和删除的发货)做出反应。
如果您没有关注这个博客,您可以在这里找到:
SAPUI5 FIREBASE博客系列:
我们将致力于云消息,为我们的应用程序获取实时通知。
但在我们收到通知之前,我们将为我们的应用程序添加一些额外的安全性。
我们只希望登录的用户收到通知。
但由于我们已经通过SAP云平台登录,我们不想要求用户再次登录。
这就是Firebase匿名身份验证的用武之地!
匿名文档中的一个小注释及其内容:
在Firebase控制台中启用匿名身份验证
打开匿名身份验证:
将Firestore安全规则设置为仅经过身份验证的用户
在Firestore的规则选项卡中设置安全规则。我们只希望我们的登录用户能够读取数据。所以只有当请求.auth.uid!=null.
规则:
如果我们现在运行应用程序,我们将看不到任何发货。因为我们没有登录,只有登录的用户才能看到发货情况。
将验证JS SDK添加到您的应用程序
这可以在索引.html文件。
我们已经将Firestore JS SDK导入我们的应用程序。
所以现在添加以下验证SDK:
将验证引用设置到您的Firebase模型
这需要添加到我们的火基.js文件。
在这里我们已经创建了Firestore引用。
您初始化的基础函数应该是这样的:
匿名登录用户
要登录,我们将以下匿名身份验证函数添加到我们的组件.js文件。
我们希望确保用户已登录到应用程序级别,并且不想在每个控制器页面都登录。
因此在InitializeFreeBase函数下添加登录方法:
如果我们此时运行应用程序,云服务服务器,我们将看到通过调用Signinanoymously函数,我们已登录,我们将看到在Firebase控制台中创建了一个匿名用户:
此时,装运将再次加载到我们的应用程序中。
创建onAuthStateChanged观察者
通过创建此观察者,我们可以检查用户是否已登录。所以signinanoymously函数不会每次都被调用。但只有在必要的时候。
再次进入我们的生活组件.js文件。
此onAuthStateChanged函数如下:
您可以在登录时访问登录的用户属性。
检查是否首次使用
当用户第一次登录时,他将尝试在我们仍从组件.js文件。请记住,阿里大数据应用平台,我们在那里添加了login和observer,以便在应用程序级别登录,而不是在每个控制器中。但是在控制器中,我们没有在第一次打开应用程序时登录。
所以让我们在这里添加观察者,并且只在登录时调用我们的发货。当控制器中的onAuthStateChanged观察者注意到用户已登录时(从组件.js文件)将调用getRealTimeShipments函数。
回顾时间,我们学到了什么?
在这个博客中,物联网网关,我们为我们的UI5应用程序和Firebase控制台添加了匿名身份验证。
所以这里有一些关键要点:
注意!!!:
每个有权访问您的UI5应用程序的用户都将通过匿名登录功能自动登录。通过这种方式,什么是软件企业,他们将能够读取所有的数据。如果您不想这样做,bi大数据,请记住使用适当的安全规则关闭Firestore数据库。但是他们需要能够用他们的SAP云平台用户登录,所以通常这是期望的行为。
所以现在我们完成了验证部分,我们准备好了云消息部分!