FirebaseのGoogle認証を使いたく、テスト用のコードを書いているのですが、期待した動作をしてくれません。
やりたいことですが、Certificateと書かれたボタンを押すと、ユーザ認証が通り、同URLに戻るのですが、そこでv-ifがtrueになってユーザ情報を表示する。という仕組みにしたいです。
現在、下記のコードを書いたのですが、ユーザ認証後、同URLに戻りはするのですが、currentUserがnullのまま変更されません。
public currentUser = firebase.auth().currentUser;
この部分で取得していると考えているのですがうまく動作しません。
間違っている部分を教えて頂きたいです
Vue.js
1<template> 2 <div class="home"> 3 <div v-if="currentUser"> 4 {{currentUser}} 5 <button @click="signOut"> 6 LogOut 7 </button> 8 </div> 9 <button @click="signIn"> 10 Certificate 11 </button> 12 </div> 13</template> 14 15<script lang="ts"> 16 import {Component, Vue} from "vue-property-decorator"; 17 import * as firebase from "firebase/app"; 18 import "firebase/auth"; 19 20 @Component 21 export default class Home extends Vue { 22 23 public currentUser = firebase.auth().currentUser; 24 25 public signIn() { 26 if (!this.currentUser) { 27 const provider = new firebase.auth.GoogleAuthProvider(); 28 firebase.auth().signInWithRedirect(provider).then( 29 (result) => { 30 alert(result); 31 } 32 ); 33 } 34 } 35 public signOut() { 36 firebase.auth().signOut(); 37 } 38 } 39</script> 40 41<style scoped> 42 43</style> 44
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/30 15:13