-1

我正在使用 Polymer 和 Polymerfire 元素创建应用程序,但我找不到在应用程序中共享用户和身份验证引用的有效方法。

我目前接收认证参考的解决方案如下:

var auth = document.getElementById('appID').app.auth()

这种方法有效,但我有一种预感,应该有更好的方法。

第二个问题是,我不确定如何在子视图中获取用户引用,通过属性共享获取引用会非常麻烦(而且我在使用这种方法时遇到了问题)。

我在想使用 iron-meta 标签可能会解决这个问题,但这意味着在每次登录和注销时我都必须“手动”设置值。那么有没有更直接的方法来分享参考?

如果我直接访问 firebase-auth 参考:

document.getElementById('authID').user

然后有一个问题,当它在元素的就绪函数调用中被访问时,它总是为空。如果稍后调用它,那么它可以正常工作,但我需要检查用户是否已在就绪调用中登录(并重定向到登录页面)。

另外,如果将全局 Polymer 设置设置为:dom: 'shadow',则此方法根本不起作用(firebase-auth 不在 index.html 中,但较低,使用此设置我只能访问索引。 html 元素。),并且这个设置应该在未来默认设置,我希望解决方案能够面向未来。

我会很感激任何回应,简

4

2 回答 2

0

聚合物团队打造的聚合物火元素将解决您的所有问题。

它分为以下元素: firebase-auth firebase-app firebase-document firebase-query firebase-messaging

使用 Firebase 进行身份验证的视频教程——Polycasts #57

官方文档

于 2016-12-14T04:15:46.113 回答
0

我解决了这个问题。显然,可以在任何您想要的地方初始化 firebase-auth 元素,并且只要提供了应用程序名称,该元素就会保留应用程序状态。

<firebase-auth id="auth" app-name=name-of-the-app"></firebase-auth>

不仅仅是使用元素引用:

this.$.auth
于 2016-12-14T17:13:08.500 回答