0

我有一個Polymer應用程序,我想使用Firebase身份驗證。我創建了一個帶有電子郵件和密碼錶單的<paper-dialog>自定義元素。如何驗證Polymer自定義元素中的Firebase用戶?

如果我在自定義元素中包含<firebase-app><firebase-auth>元素,我可以對用戶進行身份驗證。到現在爲止還挺好。

當我想通過根元素中的按鈕/函數從應用程序中籤出用戶時出現問題。我需要弄清<firebase-auth>元素才能調用它的signOut方法。我找到<firebase-auth>元素$.id$$('#id'),但它返回null。

如果我將<firebase-auth><firebase-app>元素移動到根元素中,那麼嘗試從我的自定義登錄元素訪問它們時遇到同樣的問題。

如果我只是<firebase-auth>元素添加到這兩個地方,我得到'No app configured for auth',如果我的<firebase-app>元素添加到兩個爲好,我得到'Default app already defined'

我該如何做這項工作?

+0

您可以將您的實際代碼樣本不工作嗎?從你的描述中,不清楚問題出在哪裏。 –

+0

問題是,我已經嘗試過幾種解決方案,但我無法使其中的任何一項工作。我不確定我可以爲每個選項添加代碼。 – kpg

回答

0

我無法在我的<signin-dialog>中找到處理驗證的解決方案。什麼工作對我來說是離開<firebase-app><firebase-auth>在我的頂級<app>元素,然後從<signin-dialog>觸發一個事件,並調用<firebase-auth>簽到從evenHandler menthod在<app>

<app> 
<iron-ajax auto url="https://apiserver/config" handle-as="json" last-response="{{config}}"></iron-ajax> 

     <template is="dom-if" if="{{config}}"> 
      <firebase-app auth-domain="{{config.fbWebConfig.authDomain}}" database-url="{{config.fbWebConfig.databaseURL}}" api-key="{{config.fbWebConfig.apiKey}}"> 
      </firebase-app> 
      <firebase-auth id="auth" name='auth' user="{{user}}" on-error="handleAuthError"> 
      </firebase-auth> 
      <signin-dialog user={{user}}></signin-dialog> 
     </template> 
</app> 
0

在您的按鈕功能可以只需調用以下JavaScript將用戶從Firebase中籤名即可:

firebase.auth().signOut(); 
相關問題