今回は特定の誰かのみに、milkcocoaのデータを扱えるようにしてみましょう!
はじめに
現状のmilkcocoaのサンプルアプリの多くは、パブリックに利用することが前提となっています。今回は特定のユーザのみがデータにアクセスできるようにするにはどうすればいいかについて説明します。
例として付箋アプリを使います。
付箋アプリを自分のサイトにホストし、特定のメンバーのみ利用できるようにしましょう。
http://fusen.mlkcca-app.com/
今回のソースコードはこちらです。
https://github.com/milk-cocoa/fusen/tree/private
さっそくやってみましょう
こちらのソースコードでは、すでにログインダイアログや新規登録ダイアログを実装済みです。このソースコードをダウンロードして、まずはindex.htmlの18行目の{your-appid}の部分を、自分で作ったappidに書き換えてください。
$(function(){
fusen.init("https://io-{your-appid}.mlkcca.com");
})
またmilkcocoaのアプリの管理画面側でいくつか設定を行います。まずセキュリティルールですが、以下を貼付けて更新ボタンを押してください。allow_usersのruleのところの"admin @foo.com"は、あなた自身のメールアドレスにしてください。
以下のルールについて少し説明しますと、allow_usersデータストアにEmailアドレスが格納されている人だけ、fusenデータストアにアクセスできます。またallow_usersデータストアにアクセスできるのは、"admin @foo.com"さんだけです。
fusen {
permit : all;
rule : dataStore("allow_users").exist({email : account.email});
}
allow_users {
permit : all;
rule : account.email == "admin@foo.com";
}
ホスティングしてみましょう。
この時点でどこかにホスティングするか、ローカルでホストし付箋アプリを開いてみてください。秘密にしたい情報を他のドメインで取り出せないようにするため、管理画面の「設定タブ」で許可オリジンの設定も行ってください。ローカルホストならば"localhost:*"でOKです。また例えば "http://example.com/" で公開するならば"example.com"でOKです。
URLを開くと以下のようなログイン画面が出ると思います。ダイアログの左下の「新規登録しますか?」というところをクリックしてください。すると新規登録ダイアログが出ますので、先ほど"admin @foo.com"の代わりに登録したメールアドレスで新規登録してください。確認用リンクがメールで届きますので、リンクをクリックしてください。最初のログインダイアログに戻り、ログインしてください。
ログイン完了後に、milkcocoaのアプリの管理画面の「データストア」タブを開き、以下のように付箋を触ることのできるユーザを追加します。
Enterを押すと追加できます。自分を追加して、付箋を貼れることを確認してみてください。
まとめ
今回はソースコードはサンプルを利用し、milkcocoaの設定について主に触れました。
18日に渋谷で行われるmilkcocoaハッカソンでも紹介しますので、よろしくお願いします!