BT

Firebaseがメジャーアップデートで多数の認証トークンを提供

| 作者: James Chesters フォローする 1 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2014年10月30日. 推定読書時間: 5 分 |

原文(投稿日:2014/10/07)へのリンク

Firebaseコア開発チームは今週,セッションの自動永続化やSecurity Rule用のリッチな認証トークンなどを含む,ユーザ認証のメジャーアップデートを発表した。

Firebaseはリアルタイムデータベースである。データの格納と複数クライアント間の同期を行うためのAPIを開発者に提供する。

"Major Updates to Firebase User Authentication"と題した記事の "Firebase Simple Login" という章の冒頭では,コア開発者のRob DiMarco氏が,認証の必要性は理解していたものの,"さまざまなOAuth実装の管理があまりにも大変である"という理由から実現されていなかった,と述べている。

Firebase Simple Loginの操作に関しては,GitHubのノートにその概要が記されている。

最初にFirebaseに接続した時点では,クライアントは匿名(anonymous)として,Security Ruleで指定されたデフォルトのアクセス権が付与されます。それ以外のアクセス権が必要な場合には認証する必要があります。

Firebaseの認証は,Simple Loginサービスを使用して管理されています。FacebookやGoogle,Twitter,GitHubなどのソーシャルログインプロバイダを使用した認証,およびEメールとパスワードログインを用いた管理が可能です。

発表の中でDiMarco氏は,Firebaseの認証APIについて,"完全に書き直された"と説明している。使い勝手がよくなっただけでなく,ログインフローがより詳細にコントロール可能になり,"サポートされるログイン方法やプラットフォームすべてに対して,一貫した開発者エクスペリエンス"の提供が期待される。

DiMarco氏によれば,

過去2年間,私たちはSimple Loginの改良を続けてきました。

モバイルプラットフォーム用のログインサポート,セッションの自動永続化,Security Rulesで使用する豊富な認証トークン,クライアント側コードのみを使用したユーザ認証用のシンプルなAPIなどを追加してきました。

本日のリリースで私たちは,これらがFirebase APIの重要な機能になったことを発表します。

アップデートで導入された他の新機能の中で注目すべきなのは,オフラインに最適化された認証だ。これによってFirebaseは,アプリケーションが非接続状態で起動した場合でも,ユーザ認証データへのフルアクセスを提供することができる。今回のアップデートによって,"接続状況を気にすることなく,アプリケーションを記述する"ことが可能になる。

同じように改良されたのが,認証状態のための新しいイベントリスナだ。Firebase value eventと同じように動作する一方で,webで使用されている認証トランスポートに特有の動作を行うことによって,認証フローやログイン中のユーザエクスペリエンスをより詳細にコントロールすることができる。

公表されているJavaScript Changelogによると,最新バージョンには他に次のような変更が含まれている。

  • すべての認証方式においてセッションの自動永続化が追加された
  • 認証状況に対する同期的なアクセサである ref.getAuth()が追加された
  • すべての認証プロバイダに返却する共通のauthDataが追加された
  • auth()の非推奨化。代わりにauthWithCustomToken()を使用することが求められる。

GitHub上のFirebase Simpile Loginの資料によると,Simple Loginの初期化のため,

FirebaseSimpileLoginオブジェクトを生成する必要がある。このオブジェクトはFirebaseへの参照とコールバック関数を包含する。ユーザの認証状態が変化した時,このコールバック関数が起動される。

var myRef = new Firebase("https://.firebaseio.com");
var authClient = new FirebaseSimpleLogin(myRef, function(error, user) {
if (error) {
// ログイン試行中にエラーが発生した
console.log(error);
} else if (user) {
// ユーザがFirebaseに認証された
console.log("User ID: " + user.uid + ", Provider: " + user.provider);
} else {
// ユーザがログアウトした
}
});

Firebase Simple LoginとFirebase APIに関する詳細は,こちらのGitHubプロジェクトを参照してほしい。

アップデートに関してFirebaseコミュニティは,冷静ではあるが好意的に受け止めている。

Hacker NewsでDiMarco氏は,"Major Updates to Firebase User Authentication"での議論に対して回答するとともに,フィードバックを歓迎するとコメントしている。氏に対して,ユーザのJohn Grosen氏が,Personaのサポートについて質問した。"Personaの公式サポートを止めたのはなぜですか? 使われていないから?"

共同創設者でCEOのJames Tamplin氏が,次のような回答を寄せている。

"Personaの後援企業であるMozillaが,採用率の低さを理由に機能開発の終了を決めたのです。そのことと,私たちの側でも利用数が非常に少ないことから,サポートの削除を決定しました。"

その他にGoogleのFirebaseグループでも,ユーザであるKyle Parisi氏が,"Major Updates to Firebase User Authentication"の解説に対するコメントとして,次のような質問をしている。

"とてもクールですね。唯一不足していると思うのは,サブドメインをサポートするシングルサインオンです。Eメールの適切な検証も必要かも知れませんね。予定はありますか?"

記事の公開時点では,質問に対する開発チームからの返答はない。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

訳文、原文ともに記事タイトルがなんかおかしいですね by Saito Hiroshi

「Firebaseがメジャーアップデートで多数の認証トークンを提供」
原文でも "Major Update to Firebase Brings Rich Authentication Tokens" なのですが、 "rich authentication tokens in security rules" は元のブログ記事を見ればわかるように過去二年間の改善で導入されたわけなので、今回のアップデートには関係ないですね。しかも "rich" は多数とか豊富という意味じゃなくて、 security rule の中で token と関連するメタデータ (provider, uid)も参照できるという意味だと思います。
原文の作者もよくわかっていない状態の記事の翻訳は大変ですね。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

1 ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT