在整个应用中共享用户和身份验证参考的有效方式

时间:2016-12-13 16:01:41

标签: firebase polymer firebase-authentication polymerfire

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

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

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

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

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

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

如果我直接访问firebase-auth引用:

document.getElementById('authID').user

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

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

我会很感激任何回应,Jan

2 个答案:

答案 0 :(得分:0)

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

它分为以下几个要素: 火力-AUTH 火力-应用 火力文档 火力查询 火力的消息

Video Tutorial Authentication with Firebase -- Polycasts #57

Official Documentation

答案 1 :(得分:0)

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

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

不只是使用元素引用:

this.$.auth
相关问题