⑤Meteorに触ってみる(アカウント管理を追加してみる)
公式サイトのTutorialsを参考に、
前回作成したアプリケーションに、アカウント管理を追加してみます。
meteorには、アカウント管理の部品が標準で用意されています。
部品を利用するだけで、アカウント管理が実装できます。
メール認証、Twitter、Facebook、GoogleAccount認証とかもできるみたいですが、
今回は、シンプルなパスワード認証を追加してみます。
まずは、下記コマンドを実行して、パスワード認証を追加します。
meteor add accounts-ui accounts-password
■simple-todos.html を変更します。
〜 <body> <div class="container"> {{> loginButtons}} {{#if currentUser}} 〜 {{/if}} </div> </body> <template name="task"> <li class="{{#if checked}}checked{{/if}}"> 〜 <span class="text"><strong>{{username}}</strong> - {{text}}</span> </li> </template>
{{> loginButtons}} を追加します。
ログインしている時だけ、表示したい部分を{{#if currentUser}} 〜 {{/if}}で囲みます。
{{username}}は、ログインユーザです。
誰が追加したタスクであるかを表示します。
■simple-todos.js を変更します。
// クライアント側のコード if( Meteor.isClient ){ //-------------------------------------- // アカウント管理 Accounts.ui.config({ passwordSignupFields: "USERNAME_ONLY" }); //-------------------------------------- // <body>内のイベント Template.body.events({ // Form送信(新規タスクの入力) "submit .new-task": function( event ) { 〜 // タスクの追加 Tasks.insert({ text: text, createdAt: new Date(), // 現在時刻 username: Meteor.user().username // ログインユーザ名 }); 〜 } }); }
アカウント管理の宣言を追加します。
また、タスク追加時に、ログインユーザ名も保存するように変更します。
初回アクセス時は、こんな感じです。
「Sign in▼」をクリックすると、アカウント画面が出てきます。
右下にある「Create account」をクリックします。
ユーザ名、パスワードを入力し、「Create account」ボタンを押して、ユーザを作成します。
作成したユーザでログインしてみます。
「Sign in」ボタンを押して、ログインします。
ログインできました。
画面の上部に、ユーザ名が表示されています。
タスクを追加してみます。
タスク名の前に、ユーザ名が表示されています。
■meteorのアップデートについて
今回、meteorをアップデートしたら、作成したアプリが動かなくなってしまいました。
そんな時は、一度、resetすると動くようになります。
meteor update meteor reset meteor