0

私はFirebase認証を使用したいPolymerアプリケーションを持っています。私は<paper-dialog>のカスタム要素を電子メールとパスワード形式で作成しました。Polymerのカスタム要素でFirebaseユーザを認証する方法は?

私はカスタム要素で<firebase-app><firebase-auth>要素が含まれている場合、私は、ユーザーを認証することができています。ここまでは順調ですね。

問題は、ルート要素のボタン/関数を使用して、アプリケーションからユーザーを署名するときに発生します。 signOutメソッドを呼び出すには、<firebase-auth>要素を取得する必要があります。 $.idまたは$$('#id')の要素<firebase-auth>が見つかりましたが、nullを返します。

<firebase-auth><firebase-app>要素をルート要素に移動すると、カスタムのサインイン要素からアクセスしようとしても同じ問題が発生します。

私は両方の場所にちょうど<firebase-auth>要素を追加した場合、私は'No app configured for auth'を取得し、私も両方に<firebase-app>要素を追加した場合、私は'Default app already defined'を取得します。

どうすればこの作品を作成できますか?

+0

実際に動作しないコードのサンプルを置くことはできますか?あなたの説明から、どこに問題があるのか​​がはっきりしない。 –

+0

問題は、私が説明したようにいくつかの解決策を試したが、それらのいずれかを動作させることができないということです。それぞれのオプションにコードを追加できるかどうかはわかりません。 – kpg

答えて

0

<signin-dialog>で処理されている認証で解決策を見つけることができませんでした。

<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

をあなたのボタン機能では次のことができます。どのような私のために働いたことは<signin-dialog>からイベントを発生し、<firebase-auth>サインインが<app>にevenHandlerからmenthod呼び出して、私のトップレベル<app>要素に<firebase-app><firebase-auth>を残していました次のJavaScriptを呼び出して、Firebaseからユーザに署名してください:

firebase.auth().signOut(); 
関連する問題