yfuruyama / beercolle Goto Github PK
View Code? Open in Web Editor NEWore ore beer collection
ore ore beer collection
現在の認証方法
- iOS側のSDKを使用してデバイスに保存されているtwitter, facebookアカウントを取得する
- アカウントのuser idを取得し、それをiOS側でハッシュ化しサーバに送信
[現在の方法だとまずい理由]
twitter, facebookアカウントのuser idは誰でも簡単に取得できてしまう値。
ハッシュ化するといっても、そのIDを使用して認証させるのはどうなのか。
そもそも外部サービスのサーバとOAuth認証しているのに、さらに自サービスのサーバと通信するようじゃOAuth認証の意味がない。
[加瀬くんの提案]
iOS側はWebの方でOAuth認証させ、認証のやりとりは外部サービスのサーバと自サービスのサーバで完結させる。
「世界のビール」みたいな名称でマスターデータをユーザに参照させたい。
どう思います?
サービス名を一人3個投稿するスレ
以下の方法だとユーザーを特定するためにセッションベースの認証にする必要があると思うけど、認証系の議論は #16 で。
iPhoneからBeerAlbumの項目を追加更新削除するときは、iPhoneのCoreDataを操作するのと同時に上のAPIによるWEBサーバーとの通信を非同期タスクキューとかに入れてもらう。
オフラインのときはキューに入れるだけにして、オンラインになったときにキューを実行すればシンプルにiPhoneとWeb側のDBの同期が実現できると思う。
データの競合とかが起きた時のことは、まだ考えていない
初回登録、以後の同期処理のときにiPhoneからPOSTしてもらうJSONには、以下の例のようなユーザーを特定する認証部を付けて欲しい。
{
"auth" : {
"service" : "Facebook",
"id" : 123456789123456,
"hash" : "e05b1cef8fa248cdb225b2ad9a7a620de7cd5bfa9885ce907aaba0b82bfa1203"
}
}
API周りが決まってないことが多いから、TODOは随時変更するかも
スキーマの変更などの相談したい変更があったらpull requestに出していきます。
2人がOKを出せばマージするというのでいいかな?
facebook or twitterでの認証しか出来ないとそれは辛いので、
メルアドでの認証も出来るようにしたい。
メルアドは一意だからそのままIDとして使用出来る。
正規化したふりがなの既存レコードとの「一致」を見るのではなく,「距離」を見ることによって,「もしかして」機能を提供したい.
【例】
入力: さんくとがーれんゆうげんがいしゃ
正規化後: さんくとがあれんゆうげんがいしや
もしかして: さんくとがあれん
ビールのコレクション登録時に、見た目の色も付けられるようにする。
色が単調増加な範囲で表せるのなら、スライダーとかで。
その範囲に収まらないものがあるのなら、カラーピッカーとか使う
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.