ユーザ用ツール

サイト用ツール


z_blog:2018:181126_vue_google_login

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
z_blog:2018:181126_vue_google_login [2018/11/25] – [181126 Googleアカウントでユーザ登録とログイン状態の判別] adash333z_blog:2018:181126_vue_google_login [2018/11/27] (現在) – [コンポーネント間の情報の受け渡しとログイン情報の表示] adash333
行 43: 行 43:
  
 src/App.vue src/App.vue
 +
 +(変更後)
 +{{:z_blog:2018:pasted:20181125-233334.png}}
 +
 +
 +===== Firebaseでログインの設定 =====
 +
 +FirebaseのConsole画面
 +https://console.firebase.google.com/
 +から、プロジェクト(今回の場合はmymarkdownプロジェクト)を開き、
 +
 +Autehntication > ログイン方法 > Google をクリック
 +
 +{{:z_blog:2018:pasted:20181127-203209.png}}
 +
 +Googleタブが開くので、「有効にする」をONにして、プロジェクトのサポートメール を選択する。このメールアドレスはgmailしか選択できないらしい。しかも、ログイン認証画面でこのメールアドレスが公開されてしまうらしいので、サイトを公開する場合は、新しくgmailアドレスを登録し、そちらで新たにFirebaseプロジェクトを作成した方がよさそうです。
 +
 +{{:z_blog:2018:pasted:20181127-203446.png}}
 +
 +保存をクリックすると、Googleアカウントのところが、「有効」に変化していることが分かる。
 +
 +{{:z_blog:2018:pasted:20181127-203908.png}}
 +
 +===== Googleログインの実装 =====
 +
 +src/components/Home.vue
  
 (変更前) (変更前)
 +{{:z_blog:2018:pasted:20181127-204015.png}}
 +
 +(変更後)
 +{{:z_blog:2018:pasted:20181127-204251.png}}
 +
 +これで、「Googleアカウントでログイン」ボタンをクリックすると、以下のように画面遷移する。
 +(まだ、現時点では、Googleログイン後も、画面はHome.vueのままである。)
 +
 +{{:z_blog:2018:pasted:20181127-205513.png}}
 +
 +===== ログイン状態に有無によるコンポーネント表示の選択 =====
 +src/App.vue
 +
 +(変更前)
 +{{:z_blog:2018:pasted:20181127-210613.png}}
 +
 +(変更後)
 +{{:z_blog:2018:pasted:20181127-210904.png}}
 +
 +既にGoogleログインしているので、isLogin が true となり、画面にEdit.vueの内容が表示された。
 +
 +なんか、Vue.jsは非常にシンプルだと感じました。
 +
 +===== コンポーネント間の情報の受け渡しとログイン情報の表示 =====
 +ログインユーザーの情報を画面に表示する。
 +
 +App.vueが所有している「Googleログインユーザー情報」を、Editor.vueに渡して、表示する。
 +
 +App.vue(データを送信する側)では、新しいdataを定義してユーザー情報を格納する。(さらに、<template>の<Editor>タグに :user="userData" のように記載する。)
 +
 +Editor.vue(データを受け取る側)では、propsという名前で親コンポーネント(App.vue)から受け継ぐデータを定義する。
 +
 +src/App.vue
 +
 +(変更前)
 +{{:z_blog:2018:pasted:20181127-211529.png}}
 +
 +(変更後)
 +{{:z_blog:2018:pasted:20181127-211747.png}}
 +
 +src/components/Editor.vue
 +
 +(変更前)
 +{{:z_blog:2018:pasted:20181127-211837.png}}
 +
 +(変更後)
 +{{:z_blog:2018:pasted:20181127-212327.png}}
 +
 +あらら、真っ白になってしまった。Chromeで、Ctrl+Shift+I にて「デベロッパーツール」を開き、consoleを見てみると、
 +
 +{{:z_blog:2018:pasted:20181127-212447.png}}
 +
 +とのことなので、App.vueに何か書き忘れたかと再度チェック。App.vueの<template>の<Editor>タグに、:user="userData" のように記載する必要があることが分かった。
 +
 +src/App.vue (修正後)
 +{{:z_blog:2018:pasted:20181127-212905.png}}
  
 +ちゃんとGoogleアカウントの名前が表示された。
  
 +参考:https://firebase.google.com/docs/auth/web/manage-users?hl=ja
 +{{:z_blog:2018:pasted:20181127-213610.png}}
  
 +ちなみに、このようなデータ受け渡しを行う場合は、もう少し複雑なことをしたい場合には、Vuexという公式ライブラリを利用する必要があるらしい。Vuexは、個人的に何回も挫折した、あのReactでのRedux(Flux)のVue.jsバージョンらしい。。。
  
 +Vue.js 結構単純で面白い。しかも、Ionic(Angular)などのフルスタックフレームワークと比べて動作が軽いところがよい。(私はフルスタックフレームワークが好きなので、いずれはNuxt.jsに手を出したいと考えてはいるが。)、
  
  

z_blog/2018/181126_vue_google_login.1543156188.txt.gz · 最終更新: 2018/11/25 by adash333

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki